您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

XCode 4.2(4.1)真机调试及生成IPA全攻略

2025/10/25 9:11:08发布19次查看
xcode 4.2(4.1)真机调试及生成ipa全攻略 网上有不少关于xocde3.x真机 调试 的文章,但鲜有 xcode 4.2相关的资料。参考了一些文章,终于可以在xcode4.2上进行 真机调试 了,在此 记录 下。 众所周知,在xcode上 开发 的 程序 只能在 模拟器 中运行,如果要放
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必须事先越狱.创建证书的过程比较简单,打开实用工具-钥匙串访问  。然后在菜单栏里点击钥匙串访问-证书助理-创建证书来打开向导  。第一个步骤比较重要,必须要把名称命名为iphonedeveloper,将类型设定为代码签名,将让我覆盖这些默认值选中  。之后的步骤无需更改,一路点击“确定”和“继续”来完成这个向导就可以  。
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,然后单击addrun 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   
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product