Xcode 3.2.5免证书开发调试[转]

转自:  http://blog.csdn.net/zhanglei5415/article/details/6214634  

Xcode编译遇到过 Code Sign error: a valid provisioning profile matching the application’s Identifier ‘com.yourcompany.xxxx’ could not be found 吗?且往下看:

Xcode如果不破解,一方面无法真机调试, 也无法编译真机Release文件,只能付费开通Apple开发者账号,才能申请真机调试。而Xcode进行破解后,接合越狱的iPhone或iPad, 即可免官方证书开发调试了!目前测试对于最新的iOS 4.2 SDK/iOS 4.2.1 SDK的Xcode 3.2.5一样适用!当然,对iOS 3.2.2/iOS 4.1 SDK的Xcode 3.1.2同样保持兼容。

生成本机证书

应用程序->实用工具->钥匙串访问

菜单:钥匙串访问->证书助理->创建证书, 然后按以下图片顺序操作即可:

Xcode 3.2.5免证书开发调试_打开创建证书菜单

Xcode 3.2.5免证书开发调试_打开创建证书菜单

Xcode 3.2.5免证书开发调试_输入证书名称iPhone Developer并选择覆盖默认值

Xcode 3.2.5免证书开发调试_输入证书名称iPhone Developer并选择覆盖默认值

Xcode 3.2.5免证书开发调试_确定继续

Xcode 3.2.5免证书开发调试_确定继续

Xcode 3.2.5免证书开发调试_输入序列号有效期,有效期不要超过365天

Xcode 3.2.5免证书开发调试_输入序列号有效期,有效期不要超过365天

Xcode 3.2.5免证书开发调试_输入电子邮件地址

Xcode 3.2.5免证书开发调试_输入电子邮件地址

Xcode 3.2.5免证书开发调试_输入密钥对信息

Xcode 3.2.5免证书开发调试_输入密钥对信息

Xcode 3.2.5免证书开发调试_密钥使用扩展扩展选择:签名

Xcode 3.2.5免证书开发调试_密钥使用扩展扩展选择:签名

Xcode 3.2.5免证书开发调试_已扩展的密钥使用扩展选择:代码签名

Xcode 3.2.5免证书开发调试_已扩展的密钥使用扩展选择:代码签名

Xcode 3.2.5免证书开发调试_基本约束扩展不选择

Xcode 3.2.5免证书开发调试_基本约束扩展不选择

Xcode 3.2.5免证书开发调试_主题备用名称扩展输入RFC822名称,填入邮箱名即可

Xcode 3.2.5免证书开发调试_主题备用名称扩展输入RFC822名称,填入邮箱名即可

Xcode 3.2.5免证书开发调试_用于该证书的位置选择钥匙串类型为登录

Xcode 3.2.5免证书开发调试_用于该证书的位置选择钥匙串类型为登录

Xcode破解

保证Xcode处于关闭状态,命令行终端,复制粘贴下面的代码:

  1. #!/bin/bash  
  2. cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS/ Build/ System/ Support.xcplugin/Contents/MacOS/  
  3. dd if=iPhoneOS/ Build/ System/ Support of=working bs=500 count=255  
  4. printf "/x8f/x2a/x00/x00″ >> working  
  5. dd if=iPhoneOS/ Build/ System/ Support of=working bs=1 skip=127504 seek=127504  
  6. /bin/mv -n iPhoneOS/ Build/ System/ Support iPhoneOS/ Build/ System/ Support.original  
  7. /bin/mv working iPhoneOS/ Build/ System/ Support  
  8. chmod a+x iPhoneOS/ Build/ System/ Support  

然后复制粘贴下面的代码到命令行终端:

  1. mkdir /Developer/iphoneentitlements30  
  2. cd /Developer/iphoneentitlements30  
  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  
  6. ./gen_entitlements.py  

执行完脚本后修改”/Developer/Platforms/iPhoneOS.platform/Info.plist”文件,做如下修改:

新增如下两项(告知项目编译无需证书):

  1. PROVISIONING_PROFILE_ALLOWED = NO  
  2. PROVISIONING_PROFILE_REQUIRED = NO  

然后将该文件中所有的”XCiPhoneOSCodeSignContext”替换为”XCCodeSignContext”,即去掉中间的”iPhoneOS” 。如果不进行此步,编译Device Release版本时會报错:

  1. Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.xxxx' could not be found  

打开Xcode,打开你的项目,Project->>Edit Project Setting,选择”Build”页面,Configurations和Show都选择All,找到Code Signing Identity项,删除其子项,并将”Code Signing Identity”赋值为”iPhone Developer”(其实是个选项)

然后找到你项目的xxx-Info.plist文件,添加”SignerIdentity”项,其值为”Apple iPhone OS Application Signing”.保存。

Xcode破解完成,或者更准确的讲,是配置完成!

Xcode真机调试

将 iPhone接入电脑,在Xcode的Window->Organizer中会侦测到你的iPhone.查看iPhone和你的Xcode识别正常 后退出Organizer,选择编译环境为”iPhone Device-4.2|Release”,点击”Build and Go”,期间会出现让我们选择签名证书,点选”允许”后,等待你的iPad/iPhone屏幕点亮就ok了。

你的程序会自动下载到你的iPhone中,可以进行真机调试了

Xcode升级破解

如果是在原Xcode的版本上升级到3.2.5,并且之前已经破解过,那么只需要再做如下步骤即可:

新增如下两项(告知项目编译无需证书):

  1. PROVISIONING_PROFILE_ALLOWED = NO  
  2. PROVISIONING_PROFILE_REQUIRED = NO  

然后将该文件中所有的”XCiPhoneOSCodeSignContext”替换为”XCCodeSignContext”,即去掉中间的”iPhoneOS” 。如果不进行此步,编译Device Release版本时會报错:

  1. Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.xxxx' could not be found  
posted on 2011-08-22 21:33  fuleying  阅读(779)  评论(1编辑  收藏  举报