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

Xcode 4.1免证书(iDP)开发+真机调试+生成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文件,修改如下字段

 
 
  1. <key>CODE_SIGNING_REQUIREDkey> 
  2. <string>NOstring> 
  3.  
  4. <key>ENTITLEMENTS_REQUIREDkey> 
  5. <string>NOstring> 

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

 
 
  1. #!/bin/bash 
  2. cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS
  3. dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255 
  4. printf "xc3x26x00x00" >> working 
  5. /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original 
  6. /bin/mv -n working iPhoneOS\ Build\ System\ Support 
  7. chmod a+x iPhoneOS\ Build\ System\ Support 

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

  4.修改xcode工程配置文件

  1) 下载脚本

  打开终端,执行如下操作

 
 
  1. cd  /Developer 
  2. mkdir xcode-crack 
  3. curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt 
  4. mv gen_entitlements.txt gen_entitlements.py 
  5. chmod 777 gen_entitlements.py

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

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

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

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

 
 
  1. export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate 
  2. if [ "${PLATFORM_NAME}" == "iphoneos" ]; the
  3. /Developer/xcode-crack/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent"; 
  4. codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/" 
  5. 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、输入下面的代码注意没有特殊字符

 
 
  1. export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate   
  2. if [ "${PLATFORM_NAME}" == "iphoneos" ]; then   
  3. /Developer/iphoneentitlements401/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";   
  4. codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"   
  5. fi   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Xcode是苹果公司推出的一款集成开发环境(IDE),专门用于开发苹果的操作系统iOS、macOS、watchOS和tvOS应用程序。 iOS 17.0是苹果公司最新推出的移动操作系统版本。在开发iOS应用程序时,开发人员通常会使用Xcode进行调试和测试。为了在真机上进行调试和测试,我们需要准备一个iOS 17.0真机调试包。 首先,我们需要确保Xcode已经升级到最新版本,以便支持最新的iOS 17.0操作系统。然后,我们需要通过Apple开发者中心下载相应的iOS 17.0真机调试包。在Apple开发者中心的下载页面中,我们可以找到相关的资源并按照提示进行下载和安装。 安装完成后,我们需要将真机连接到电脑上。通过使用USB线连接真机和电脑,我们可以在Xcode中选择真机进行调试和测试。在Xcode的设备列表中,我们可以看到已连接真机,并选择相应的设备进行调试。 在进行真机调试之前,我们需要确保我们的应用程序已经签名和配置正确,以便在真机上运行。我们可以使用Xcode的代码签名工具和配置文件,为应用程序获取必要的签名和配置。 一旦完成了以上步骤,我们就可以使用Xcode进行iOS 17.0真机调试了。我们可以在Xcode中设置断点、监视变量和执行调试操作,以便发现和修复应用程序的问题。 总之,Xcode是开发iOS应用程序的首选工具之一,而iOS 17.0真机调试包是我们在Xcode中进行真机调试和测试时所需的资源。通过正确的设置和配置,我们可以在真机上进行调试并改进我们的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值