XCode 4.2(4.1)真机调试及生成IPA全攻略
XCode 4.2(4.1)真机调试及生成IPA全攻略
网上有不少关于xocde3.x真机调试的文章,但鲜有xcode4.2相关的资料 。参考了一些文章,终于可以在xcode4.2上进行真机调试了,在此记录下 。
众所周知,在Xcode上开发的程序只能在模拟器中运行,如果要放到真机上则要花费99美金购买开发者证书iDP 。这严重阻碍了我等草根开发者探索的脚步 。写个小程序,同学间分享一下这个小小的愿望都不能满足,自然不能善罢甘休 。
在没有iDP的情况下,要想将程序放到iPhone上调试,并最终发布IPA用于分享,需要以下几个步骤:
1.自己为自己颁发一个证书用于为生成的程序签名
2.修改工程配置以及Xcode的配置文件和二进制文件以阻止其验证和使用这个伪造的证书
3.使用自定义的步骤为应用程序签名
4.使用一点小trick来生成IPA文件
1.创建证书
我会分几步来说明 。值得说明的是,要想真机调试,ios device必须事先越狱.创建证书的过程比较简单,打开实用工具-钥匙串访问 。然后在菜单栏里点击钥匙串访问-证书助理-创建证书来打开向导 。第一个步骤比较重要,必须要把名称命名为iPhone Developer,将类型设定为代码签名,将"让我覆盖这些默认值"选中 。之后的步骤无需更改,一路点击“确定”和“继续”来完成这个向导就可以 。
1.创建证书,这个没什么好说的,网上资料一大堆,只要别写错名字就好,证书名一定要为 iPhone Developer
2.破解ios sdk及其xcode的相关配置文件(双击配置文件就可以打开,注意SDKSettings.plist有权限控制)
修改/Developer/Platforms/iPhoneOS.platform目录下的Info.plist文件,将其中的 XCiPhoneOSCodeSignContext 都改为XCCodeSignContext
修改/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk目录下的SDKSettings.plist文件,修改如下字段:
- <key>CODE_SIGNING_REQUIREDkey>
- <string>NOstring>
- <key>ENTITLEMENTS_REQUIREDkey>
- <string>NOstring>
3.破解xcode二进制文件 。建立一个crack文件,内容如下:
- #!/bin/bash
- cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
- dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
- printf "xc3x26x00x00" >> working
- /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
- /bin/mv -n working iPhoneOS\ Build\ System\ Support
- chmod a+x iPhoneOS\ Build\ System\ Support
然后执行 chmod +x crack执行./crack,没错误就正常
4.修改xcode工程配置文件
1) 下载脚本
打开终端,执行如下操作
- cd /Developer
- mkdir xcode-crack
- curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
- mv gen_entitlements.txt gen_entitlements.py
- chmod 777 gen_entitlements.py
2) 禁用Xcode自动的签名操作
将工程配置中所有的Code Signing选项全部设为Dont Code Sign,如图 。可能需要先点击“All”让这个选项显示出来
3)添加自定义的生成后脚本
在Build Phases中添加一个Phase,右下角的Add Build Phase,然后单击Add Run Script,输入以下脚本(如图)
- export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
- if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
- /Developer/xcode-crack/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
5 。打包应用程序,生成ipa文件
在xcode上选择product菜单,选择Build For ---> Build for Achiving,就能成ipa文件了 。如图:
可以将这个文件拖到itunes,就可以生成一个ipa文件,如图:
至此,我们就可以随心所欲地开发并调试ios程序了,并可以将打包好的ipa文件分享给他人
按照上面的步骤导入3.x的工程成功运行,但是如果用XCode 4.2创建新工程,则会报错,需要做如下修改:
1、将【Objective-C Automatic Reference Counting】的默认值由【YES】改为【NO】;
2、输入下面的代码注意没有特殊字符
- export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
- if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
- /Developer/iphoneentitlements401/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
XCode 4.2(4.1)真机调试及生成IPA全攻略相关推荐
- Xcode 5 + iOS 7免证书(iDP)真机调试与生成IPA全攻略
Xcode 5 + iOS 7免证书(iDP)真机调试与生成IPA全攻略 文章目录 1. 创建证书 2. 修改Xcode的配置文件 3. 准备自定义的生成后脚本 4. 修改工程设置 5. 旁门左道生成 ...
- [iOS] Xcode 5 + iOS 7免证书(iDP)真机调试与生成IPA全攻略
众所周知,在Xcode上开发的程序只能在模拟器中运行,如果要放到真机上则要花费99美金购买开发者证书iDP.这严重阻碍了我等草根开发者探索的脚步.写个小程序,同学间分享一下这个小小的愿望都不能满足,自 ...
- iPad2 iOS 5.0.1+ Xcode 4.3 免证书(iDP)开发 + 真机调试 生成IPA全攻略
欢迎转载,请务必注明出处:本文转载自 岳生博客 http://zhyuesheng.blog.163.com 参考了国内外多篇文章,本文所述攻略在以下开发环境下验证通过. 开 ...
- Win7+虚拟机OS X 10.8.5+Xcode4.6.3+越狱iPhone4+iOS5.1.1真机调试及生成ipa包
20160108:Win7下Unity iOS开发环境搭建 0.先前已经搭好虚拟机OS X 10.8.5+Xcode4.6.3环境,原生iOS App也已经能真机调试了. 1.将Unity4.3. ...
- Xcode 4.1~4.6 + iOS 5、iOS 6免证书(iDP)开发+真机调试+生成IPA全攻略
原创文章,欢迎分享:未经许可,不得转载:版权所有,侵权必究 开发环境使用的是目前为止最新的稳定版软件:Mac OS X Lion 10.7 + Xcode 4.1 目前Xcode 4.2 Previe ...
- 【转载】Xcode 4.1~4.6 + iOS 5、iOS 6免证书(iDP)开发+真机调试+生成IPA全攻略
原创文章,欢迎分享:未经许可,不得转载:版权所有,侵权必究 开发环境使用的是目前为止最新的稳定版软件:Mac OS X Lion 10.7 + Xcode 4.1 目前Xcode 4.2 Previe ...
- Xcode 4.1/4.2/4.3/4.4/4.5 + iOS 5.1.1免证书(iDP)开发+真机调试+生成IPA全攻略
开发环境使用的是目前为止最新的稳定版软件:Mac OS X Lion 10.7 + Xcode 4.1 目前Xcode 4.2 Preview版也已经发布,据说其修改方法跟4.1非常类似,只改动 ...
- IOS 7 Xcode 5 免IDP证书 真机调试
今天带来的是 IOS 7 Xcode 5 免IDP证书的真机调试.说白了就是穷,不想给苹果交那$99的钱. 注意:虽然可以用这个方法实现真机调试,不过不能实现向Apple store 发布APP,其次 ...
- IOS 7 Xcode 5 免IDP证书 真机调试(转载)
最近转开发了,真的很久没有更新博客了,今天有空写一篇吧. 今天带来的是 IOS 7 Xcode 5 免IDP证书的真机调试.说白了就是穷,不想给苹果交那$99的钱. 注意:虽然可以用这个方法实现真机调 ...
最新文章
- gba徽章机器人_徽章战士GBA攻略
- 英国如何推动分享经济的发展?
- rabbitmq订单模块_RabbitMQ播放模块! 构架
- 【转】通用sqlserver分页存储过程
- 超级无敌数字加密算法
- Java基础教程:Lambda表达式
- 双系统如何在Centos7中添加GRUB2启动项
- Android WebView示例教程
- Qt使用QAudioRecorder进行音频采集,以及声音、热红外和可见光数据采集软件效果
- 15条经典实用的网站优化技巧
- batchplot插件用法_怎么使用Batchplot命令批量打印CAD图纸
- office2016图标显示异常,但是文档可以正常打开解决办法
- JavaScript实现页面动态添加图片
- oracle 9i告警日志,Oracle 9i,10g,11g各自alert日志的位置
- 对外汉语偏误语料库_对外汉语偏误汇总
- vue |实现点击图片预览浏览器满屏大图
- Hyper-v安装和使用
- android手机红外代码HAL,手机红外遥控器发送红外信号到STM32【HAL库】
- numpy基础—numpy的轴
- [SAM模板题] P3975 [TJOI2015] 弦论