Xcode 4.6 + iOS 6免证书真机调试
来源:互联网 发布:java常用算法有哪些 编辑:程序博客网 时间:2024/04/30 09:35
虽然要支持正版,但是对于学习阶段99美元也是不小的开销。所以就此研究了下如何免证书真机调试。当然最终要把APP发布到AppStore时,还是需要这99刀的。好了,闲话少说,直接进入正题。
本人破解环境:Xcode 6.3,iPhone 4(已越狱且通过Cydia安装了AppSync),并且亲测可用此iPhone进行真机调试。
整体4部分:
1.自己为自己颁发一个证书用于为生成的程序签名
2.修改工程配置以及Xcode的配置文件和二进制文件以阻止其验证和签名
3.通过自定义生成步骤,用伪造的证书为应用程序签名
4.修改工程设置,进行真机调试
4.修改工程设置,进行真机调试
1.创建证书
创建证书的过程比较简单,打开Lanchpad -> 实用工具 -> Keychain Access。然后在菜单栏里点Keychain Access -> Certificate Assistant -> Create a certificate。
第一个步骤比较重要,必须要把名称命名为iPhone Developer,将类型设定为Code Signing,将"Let me override defaults"选中。之后的步骤无需更改,一路点击“OK”和“Continue”来完成这个向导就可以。
第一个步骤比较重要,必须要把名称命名为iPhone Developer,将类型设定为Code Signing,将"Let me override defaults"选中。之后的步骤无需更改,一路点击“OK”和“Continue”来完成这个向导就可以。
2.修改Xcode的配置文件和二进制文件
先退出Xcode,按Command+Q完全关闭。
然后依次执行下面的操作:
然后依次执行下面的操作:
2.1 cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk
2.2 sudo cp SDKSettings.plist SDKSettings.plist.orig
2.3 sudo vim SDKSettings.plist
将以下两段中的YES改为NO
<key>CODE_SIGNING_REQUIRED</key>
<string>YES</string>
和
<key>ENTITLEMENTS_REQUIRED</key>
<string>YES</string>
2.5 sudo cp Info.plist Info.plist.orig
2.6 sudo /Applications/Xcode.app/Contents/MacOS/Xcode /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist
将全部的XCiPhoneOSCodeSignContext 修改成 XCCodeSignContext
有三处,分别在DefaultProperties分支下、RuntimeRequirements分支下和OverrideProperties分支下。
3.准备自定义的生成后脚本(此步必须确保电脑已连接到互联网,并且以root用户执行)
3.3 mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements
3.4 cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements
3.5 curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
3.6 mv gen_entitlements.txt gen_entitlements.py
3.7 chmod 777 gen_entitlements.py
4.修改工程设置
注意:本阶段之前的修改配置文件、准备脚本等,只需要做一次。但本阶段的操作,对每个需要真机调试的工程都要做一遍。
4.1 禁用Xcode自动的签名操作
将工程配置中Code Signing选项下面的除了Any iOS SDK其余全部设为Don't Code Sign,Any iOS SDK 选择之前创建的证书iPhone Developer。如图:
4.2 添加自定义的生成后脚本
在Build Phases中添加一个Phase,右下角的Add Build Phase,然后单击Add Run Script,输入以下脚本:
现在可以插上你的iPhone,选择你的设备运行程序了。
注意:本阶段之前的修改配置文件、准备脚本等,只需要做一次。但本阶段的操作,对每个需要真机调试的工程都要做一遍。
4.1 禁用Xcode自动的签名操作
将工程配置中Code Signing选项下面的除了Any iOS SDK其余全部设为Don't Code Sign,Any iOS SDK 选择之前创建的证书iPhone Developer。如图:
4.2 添加自定义的生成后脚本
在Build Phases中添加一个Phase,右下角的Add Build Phase,然后单击Add Run Script,输入以下脚本:
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocateif [ "${PLATFORM_NAME}" == "iphoneos" ] || [ "${PLATFORM_NAME}" == "ipados" ]; then/Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"fi
现在可以插上你的iPhone,选择你的设备运行程序了。
原创文章,转载请注明出处:withiter
- Xcode 4.6 + iOS 6免证书真机调试
- Xcode 4.1~4.6 + iOS 5、iOS 6免证书(iDP)开发+真机调试+生成IPA
- IOS 7 Xcode 5 免IDP证书 真机调试
- IOS 7 Xcode 5 免IDP证书 真机调试
- IOS 7 Xcode 5 免IDP证书 真机调试
- IOS 7 Xcode 5 免IDP证书 真机调试
- IOS 7 Xcode 5 免IDP证书 真机调试
- Xcode 5、Xcode 6 免证书真机调试
- Xcode 5、Xcode 6 免证书真机调试
- Xcode 5、Xcode 6 免证书真机调试
- Xcode 5、Xcode 6 免证书真机调试
- Xcode 5、Xcode 6 免证书真机调试
- xcode 免证书真机调试
- xcode免证书开发真机调试
- Xcode 7 免证书真机调试
- Xcode 7免证书真机调试
- Xcode 7免证书真机调试
- Xcode 7免证书真机调试
- java 虚拟机内存总结
- net 字符串加密解密
- Hibernate3.2(10):联合主键<composite-id.../>
- uva 784 Maze Exploration 染色 搜索水题 DFS
- Effective C++ 读书笔记(7)
- Xcode 4.6 + iOS 6免证书真机调试
- 准备结婚咯,学下婚纱照攻略关于化妆基础知识
- 教你巧妙破解n阶幻方
- Linux Shell脚本编程--函数返回值
- coding - 求单链表倒数第k个节点
- Tangle:一个开源的数据交互式JS库
- C++中extern “C”含义深层探索
- cuda中模板的使用
- .h和.cpp文件的区别