Maison > base de données > tutoriel mysql > le corps du texte

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

WBOY
Libérer: 2016-06-07 15:37:54
original
1126 Les gens l'ont consulté

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必须事先越狱.创建证书的过程比较简单,打开实用工具-钥匙串访问  。然后在菜单栏里点击钥匙串访问-证书助理-创建证书来打开向导  。第一个步骤比较重要,必须要把名称命名为iPhone Developer,将类型设定为代码签名,将"让我覆盖这些默认值"选中  。之后的步骤无需更改,一路点击“确定”和“继续”来完成这个向导就可以  。

  1.创建证书,这个没什么好说的,网上资料一大堆,只要别写错名字就好,证书名一定要为 iPhone Developer

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

  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文件,修改如下字段

<ol>
<li><span><span><span>key</span><span>></span><span>CODE_SIGNING_REQ<span>UI</span>RED</span><span><span>key</span><span>></span><span> </span></span></span></span></li>
<li><span><span><span>string</span><span>></span><span>NO</span><span><span>string</span><span>></span><span> </span></span></span></span></li>
<li><span> </span></li>
<li><span><span><span>key</span><span>></span><span>ENT<span>IT</span>LE<span>ME</span>NTS_REQUIRED</span><span><span>key</span><span>></span><span> </span></span></span></span></li>
<li><span><span><span>string</span><span>></span><span>NO</span><span><span>string</span><span>></span><span> </span></span></span></span></li>
</ol>
Copier après la connexion

  3.破解xcode二进制文件  。建立一个crack文件,内容如下:

<ol>
<li><span><span>#!/bin/bash </span></span></li>
<li><span>cd /Developer/Platforms/iPhoneOS.platform/Developer/<span>Library</span>/Xcode/PrivatePlugIns/iPhoneOS\ Build\ Syst<span>em</span>\ Support.xcplugin/Contents/<span>MacOS</span>/ </span></li>
<li><span>dd <span>if</span><span>=</span><span>iPhoneOS</span><span>\ Build\ System\ Support </span><span>of</span><span>=</span><span>working</span><span> </span><span>bs</span><span>=</span><span>500</span><span> </span><span>count</span><span>=</span><span>255</span><span> </span></span></li>
<li><span>printf "xc3x26x00x00" <span>></span><span>></span><span> working </span></span></li>
<li><span>/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original </span></li>
<li><span>/bin/mv -n working iPhoneOS\ Build\ System\ Support </span></li>
<li><span>chmod a+x iPhoneOS\ Build\ System\ Support </span></li>
</ol>
Copier après la connexion

  然后执行 chmod +x crack执行./crack,没错误就正常

  4.修改xcode工程配置文件

  1) 下载脚本

  打开终端,执行如下操作

<ol>
<li><span><span>cd  /Developer </span></span></li>
<li><span>mkdir xcode-crack </span></li>
<li><span>curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt </span></li>
<li><span>mv gen_entitlements.txt gen_entitlements.py </span></li>
<li><span>chmod 777 gen_entitlements.py 
</span></li>
</ol>
Copier après la connexion

  2) 禁用Xcode自动的签名操作

  将工程配置中所有的Code Signing选项全部设为Dont Code Sign,如图  。可能需要先点击“All”让这个选项显示出来

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

  3)添加自定义的生成后脚本

  在Build Phases中添加一个Phase,右下角的Add Build Phase,然后单击Add Run Script,输入以下脚本(如图)

<ol>
<li><span><span>export </span><span>CODESIGN_<span>ALL</span>O<span>CA</span>TE</span><span>=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate </span></span></li>
<li><span>if [ "${<span>PL</span>AT<span>FOR</span>M_<span>NAM</span>E}" == "iphoneos" ]; <span>the</span>n </span></li>
<li><span>/Developer/xcode-crack/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRO<span>DU</span>CTS_DIR}/${WR<span>AP</span>PER_NAME}/${PROJECT_NAME}.xcent"; </span></li>
<li><span>codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/" </span></li>
<li><span>fi </span></li>
</ol>
Copier après la connexion
XCode 4.2(4.1)真机调试及生成IPA全攻略

  5  。打包应用程序,生成ipa文件

  在xcode上选择product菜单,选择Build For ---> Build for Achiving,就能成ipa文件了  。如图:

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

  可以将这个文件拖到itunes,就可以生成一个ipa文件,如图:

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

  至此,我们就可以随心所欲地开发并调试ios程序了,并可以将打包好的ipa文件分享给他人

  按照上面的步骤导入3.x的工程成功运行,但是如果用XCode 4.2创建新工程,则会报错,需要做如下修改:

  1、将【Objective-C Automatic Reference Counting】的默认值由【YES】改为【NO】;

  2、输入下面的代码注意没有特殊字符

<ol>
<li><span><span>export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate   </span></span></li>
<li><span><span>if</span><span> [ </span><span>"${PLATF<span>ORM</span>_NAME}"</span><span> == </span><span>"iphoneos"</span><span> ]; then   </span></span></li>
<li><span>/Developer/iphoneentitlements401/gen_entitlements.py <span>"my.company.${PROJECT_NAME}"</span><span> </span><span>"${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent"</span><span>;   </span></span></li>
<li><span>codesign -f -s <span>"iPhone Developer"</span><span> --entitlements </span><span>"${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent"</span><span> </span><span>"${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"</span><span>   </span></span></li>
<li><span>fi   </span></li>
</ol>
Copier après la connexion
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!