现在的位置: 首页 > 软件开发 > 正文

Xcode 3.2.5免证书开发调试

2010年11月25日 软件开发 ⁄ 共 3604字 评论数 24 ⁄ 被围观 0+

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处于关闭状态,命令行终端,复制粘贴下面的代码:

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

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

mkdir /Developer/iphoneentitlements30
cd /Developer/iphoneentitlements30
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py
./gen_entitlements.py

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

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

PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO

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

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,并且之前已经破解过,那么只需要再做如下步骤即可:

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

PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO

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

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

目前有 24 条留言 其中:访客:15 条, 博主:5 条

  1. Lulu : 2011年05月02日03:59:56  -49楼

    有个小错误,第一段Script里面
    printf "\x8f\x2a\x00\x00″ >> working
    后面的引号不是ASCII 34的那个" (和第一个引号不一样),会导致脚本执行错误。


    • 管理员
      聖騎天下 : 2011年05月04日11:16:26  地下1层

      抱歉,这个是由于博客自己转码造成的...以后我会增加说明

  2. snow : 2011年03月23日14:46:25  -48楼

    can't not install application

    The Info.plist for application at /Users/qiang/Documents/xx/build/Debug-iphoneos/xx.app specifies a minimum OS version of 4.2, which is too high to be installed on iPhone

    怎么回事啊

  3. : 2010年12月31日16:25:08  -47楼

    请问Build And Go的时候出现No provisioned iPhone OS device is connected.错误,什么原因,怎么解决?

    • kun : 2011年01月20日11:40:17  地下1层

      出现 No provisioned iPhone OS device is connected. 是因为 Organizer 没有检测到激活的设备 , 打开 Xcode -Windows-Organizer 激活


  4. 管理员
    聖騎天下 : 2010年12月31日12:32:49  -46楼

    抱歉,年底太忙了,加上我申请了正式的开发证书,不再使用免证书方式了,对于各位遇到的新问题,只能找时间再测看看。

    • kun : 2011年01月20日11:41:43  地下1层

      ""确实安装成功了,但是xcode 总是弹出 Internal Error, 求解"

      我的也是 ,他一直弹出 Internal Error 错误 ..

      • eonezhang : 2011年05月12日21:55:15  地下2层

        File: /SourceCache/DevToolsBase/DevToolsBase-1763/pbxcore/Target.subproj/PBXTarget.m
        Line: 1603
        Object:
        Method: createPropertyExpansionContextWithBuildState:

        Platform failed to completely load. Examine Console Log for error messages.

  5. en... : 2010年12月31日09:57:03  -45楼

    确实安装成功了,但是xcode 总是弹出 Internal Error, 求解

  6. anqing : 2010年12月28日16:01:00  -44楼

    一直出现 Error from Debugger:The program being debugged is not being run.

  7. anqing : 2010年12月28日15:55:32  -43楼

    为什么 部署到iphone上的程序会一闪 就退出了!,急求

  8. tabris17 : 2010年12月09日17:24:22  -42楼

    lz真的试过吗?为什么“/Developer/Platforms/iPhoneOS.platform/Info.plist”是个xml文件?


    • 管理员
      聖騎天下 : 2010年12月09日21:44:41  地下1层

      确实是个xml文件啊,所以你需要按照他的格式添加,也就是这样:
      <key>PROVISIONING_PROFILE_ALLOWED</key>
      <string>NO</string>
      <key>PROVISIONING_PROFILE_REQUIRED</key>
      <string>NO</string>

  9. wqlzju : 2010年11月29日17:16:33  -41楼

    按照这个方法,出现了一个错误

    Code Signing Identity 'iPhone Developer' does not match any valid, non-expired, code-signing certificate in your keychain.


    • 管理员
      聖騎天下 : 2010年11月29日18:12:04  地下1层

      检查看看确认生成证书时候填写的证书名称为 ‘iPhone Developer’

      • bonbon.wang : 2010年11月30日16:06:45  地下2层

        遇到错误:
        The identity used to sign the executable is no longer valid.
        怎么回事,好着急呀:(

给我留言

您必须 [ 登录 ] 才能发表留言!

×
#