Xcode免证书打包ipa
1,创建证书
打开“钥匙串访问”创建证书
填写好内容后点击继续,之后的步骤什么都不用改,一路点击“确定”和“继续”,最后完成这个向导就可以了。
我们创建的证书是不被信任的,右键点击证书选择“显示简介”,在信任里选择“始终信任”。
2,修改Xcode配置文件
关闭Xcode。然后打开“其他-终端”
<1>
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk/
备注:不同版本的Xcode最后的版本号不同。在Xcode 7.1中是 iPhoneOS9.1.sdk,未来版本可能版本高一些,早期版本的就低一些。请根据实际情况自己改动。(如果实在不知道自己的版本号,可以用“ls”指令查看所有文件。)
<2>
备份原文件,如果电脑设有密码,系统会提示你输入密码(输入后不会显示出来,敲回车即可)
sudo cp SDKSettings.plist SDKSettings.plist.orig
<3>
编辑配置文件SDKSettings.plist
首先,修改文件夹权限,此时我们所在目录是iPhoneOS9.1.sdk,如果输入指令“cd
..”返回上级目录,“ls -al”查看所有文件,会发现系统显示iPhoneOS9.1.sdk -> iPhoneOS.sdk,这表示iPhoneOS9.1.sdk是指向iPhoneOS.sdk的快捷方式,所以我们要修改的真正文件夹是 iPhoneOS.sdk,指令如下:
sudo chmod -R 777 iPhoneOS.sdk
打开这个文件所在目录:
open .
在弹出的Finder窗口中双击 SDKSettings.plist ,会启动Xcode的图形界面,展开 DefaultProperties 分 支,将下面的ENTITLEMENTS_REQUIRED和CODE_SIGNING_REQUIRED两个属性改为 NO。
<4>
编辑配置文件Info.plist
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
sudo cp Info.plist Info.plist.orig
open .
备注:同第<3>步,需要修改Platforms 文件夹权限和该文件夹内所有文件的权限,步骤同上
在弹出的Finder窗口中双击打开 Info.plist 。分别在 DefaultProperties 分支 下、 RuntimeRequirements 分支下和 OverrideProperties 分支下 ,将全部的 XCiPhoneOSCodeSignContext 修改成 XCCodeSignContext 。
<5>
准备自定义的生成后脚本(此步骤需在联网状态下进行)
sudo mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements
cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements
sudo curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
sudo mv gen_entitlements.txt gen_entitlements.py
sudo chmod 777 gen_entitlements.py
3,修改工程设置
备注:本阶段之前的修改配置文件、准备脚本等,只需要做一次。但本阶段的操作,对每个需要真机调试的工程都要做一遍。
将工程配置“Build
Settings”中所有的Code Signing选项全部设为Don’t Code Sign
4,开始打包
编译完成后进入/Users/你的用户名/Library/Developer/Xcode/DerivedData/以工程名打头的文件夹/Build/Products/Release-iphoneos 文件夹下找到app文件,拉入到itunes就生成了我们想要的ipa文件了。
Xcode免证书打包ipa的更多相关文章
- Xcode8免证书生产IPA打包文件
免证书生产IPA打包文件 修改Xcode配置文件: 关闭Xcode.然后打开“其他-终端”,就是命令行工具 cd /Applications/Xcode.app/Contents/Develope ...
- Xcode免证书真机调试,解决cannot read entitlement data问题
本文是根据某个帖子写的(帖子链接在最后放出),但是在配置的过程中,遇到了一个纠结的问题,这个问题折腾了我N久,一直没搞明白到底是什么原因,问题如下: 按照原帖上写的每一步去做了,但是在最后编译的时候出 ...
- xcode免证书开发
工程和target的code sign 选择 ios developer 工程的team选择为none就ok 推送测试 或者 正式发布的时候要改回来, 有一个严重的缺陷, 就是打包出来的ipa程序有时 ...
- IOS如何打越狱包xcode无证书打包ios应用
本文要介绍的是在无证书的情况下如何将自己应用打包出去在越狱设备上使用或发给第三方使用企业签名进行应用分发. 前提条件:拥有appleId账号,并且该账号已经注册开发者中心(无需花钱) 教程开始: 1. ...
- 免证书发布ipa文件真机测试
首先设备得越狱 众所周知,在Xcode上开发的程序只能在模拟器中运行,如果要放到真机上则要花费99美金购买开发者证书iDP.这严重阻碍了我等草根开发者探索的脚步.写个小程序,同学间分享一下这个小小的愿 ...
- Xcode免证书调试
不用开发者账号,不用证书,不用创建APPID,不用绑定设备,不用生成配置文件,只需一个AppleID和密码(就是APPStore应用商店的ID和密码即可并不是开发者ID和密码)即可.即可完成真机调试, ...
- xcode 脚本编译,打包ipa
1.清理工程 /usr/bin/xcodebuild -target targetName clean 2.编译 /usr/bin/xcodebuild -target targetName buil ...
- Xcode 10如何打包ipa包?
参考: https://www.jianshu.com/p/0421b3fd2470 前置条件 首先导入证书和配置文件 具体操作步骤: product>>Archive 如图所示,选择Di ...
- 勾勾街:一个专业的苹果ios app 自助打包的网站,免越狱,免证书签名
众所周知,苹果的APP开发是需要基于MAC环境的,而我们很多的开发者并没有这样的条件,如果单单为发布一款app就去买一台价格昂贵的MAC那成本就太高了! 就算你有一台MAC,也有能力自己开发出一款基于 ...
随机推荐
- [转]在 Windows Server 2012 上安装 IIS 8
本文转自:http://www.starland.net.cn/blog/view/158/1.aspx 本文译自:http://learn.iis.net/page.aspx/1088/instal ...
- HTML5和Web Apps框架和方法
单页: 1jQuery Mobile 该框架以其基于AJAX的导航系统和可使用主题的ThemeRoller设计而闻名.支持Android,ios,Windows Phone,webOs等.编程模式为C ...
- C#算法基础之堆排序
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- HDOJ2019数列有序!
数列有序! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- Android Studio 快捷方式
Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如g ...
- 【转】Android 布局学习之——LinearLayout属性baselineAligned的作用及baseline
相信大家对LinearLayout已经相当熟悉,但你们是否了解它的属性baselineAligned呢? Android官方文档是这么描述的:
- Android M Permission处理
Android M(6.0)相比之前的版本,做了比较多的优化与改进.其中变化最大的一点是权限管理方面的改变,即不再是应用安装时授权,而改为运行时授权机制:一直以来,系统安全都是用户非常关心的问题,而之 ...
- MySQL免安装版配置
mysql版本:mysql-5.5.33-win32 1.解压免安装包到指定目录MYSQL_HOME2.cmd进入MYSQL_HOME\bin 注册mysql服务:mysqld --install M ...
- MySQL查询不使用索引汇总
众所周知,增加索引是提高查询仍然不使用索引,这种情况严重影响性能,这里就简单总结几条如果如果列key均匀分布在1和100之间,下面的查询使用索引就不是很好:select * from table_na ...
- Java Thread UncaughtExceptionHandler
有没有发生过这样的情况,你写的工作线程莫名其妙的挂了,如果不是被你刚好看到,拿只能抓瞎了,不知道啥原因了,因为异常的时候只会把stack trace打在控制台上,不会记在你想记得错误日志里,头皮都抓破 ...