Xcode6.1下ios8.1免证书真机调试
iOS9开始已经允许开发者创建免费证书进行真机调试了.
一个必要条件是机器必需为越狱且装有appsync
,不然不能运行. 现在appsync for iOS 8 还是beta阶段,但也可以用了,具体见官方说明.
对于低版本的xcode其实有一个比较方便的软件:JailCoder,可惜作者不更新了.
自己写了个软件CodeSignBreak,用兴趣的可以试试,也可以pull request.
- 制作证书iPhone Developer
保证Name为iPhone Developer
, CertificationType为CodeSigning
,然后Let me override defaults
选中,其它默认Next就可以了.
修改SDKSettings.plist /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/SDKSettings.plist中的
CODE_SIGNING_REQUIRED
和ENTITLEMENTS_REQUIRED
的值为NO
修改Info.plist /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist中添加
PROVISIONING_PROFILE_ALLOWED
和PROVISIONING_PROFILE_REQUIRED
值为 NO;查找XCiPhoneOSCodeSignContext
并替换成XCCodeSignContext
自签名脚本 /Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py,权限777. 推荐用下面这种方法
|
|
也可以手动(CV大法容易出错)
|
|
- 在Xcode中添加run script(BuildPhases下点菜单Editor然后addBuildPhases,灰色不可点?你先选中buildPhases中的一项就好了). 仍然推荐用下载的方法:地址
CV大法不推荐= =.
|
|
在Xcode中保证code signing identity为don’t code sign.
接下来的是适应iOS8
现在都是以前的步骤,ios7及之前的到这里已经可以了.但是如果是ios8,你一运行,发现Code Signing Error
错误:No code signing identities found.
但是我明显配置了Don’t Code Sign了啊,查看了错误日志(藏得有点深),发现正常target是过了的,但是还有一个target:tests出现错误,OK,那么就把它也设为Don’t Code Sign,完工!
- 原文作者:mlyixi
- 原文链接:https://mlyixi.github.io/post/osx/Xcode6.1%E4%B8%8Bios8.1%E5%85%8D%E8%AF%81%E4%B9%A6%E7%9C%9F%E6%9C%BA%E8%B0%83%E8%AF%95/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。