Xcode 免证书开发调试(结合网上资料整理)

参考资料来源:

http://www.51testing.com/?uid-225927-action-spacelist-type-blog

http://bbs.9ria.com/thread-75047-1-1.html

http://blog.csdn.net/zhanglei5415/archive/2011/03/01/6214634.aspx

http://www.alexwhittemore.com/?p=354

 

 

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破解

2.1 保证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  

#printf "/xc3/x26/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  

 

 

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

 

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  

 

 

2.3 执行完脚本后修改”/Developer/Platforms/iPhoneOS.platform/Info.plist文件,做如下修改:
新增如下两项:
PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO
例如:
        <key>AdditionalInfo</key>
        <dict>
        ……..
        <key>PROVISIONING_PROFILE_ALLOWED</key>
        <string>NO</string>
        <key>PROVISIONING_PROFILE_REQUIRED</key>
        <string>NO</string>        
        </dict>


2.4 再用文本编辑器打开”/Developer/Platforms/iPhoneOS.platform/Info.plist”文件,将所有“XCiPhoneOSCodeSignContext”替换为“XCCodeSignContext”,(非常重要,不进行此步骤会导致打开项目文件Xcode会崩溃报错退出)保存退出。

 

2.5 下面两种说法:
    2.5.1

打开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”.保存。

    2.5.2

打开xcode,修改menu-->Project-->Edit Project Settings找到 “Code Signing Identity”和子菜单,

修改其键值为 "don't code sign"

 

我是按2.5.1的方法做的,最后流程正常,没有异常

 

 

2.6 对于每一个新建项目都需要这个操作,打开menu-->Project-->NewBuildPhase -->New Run Script. Buid Phase

拷贝以下代码进去

 

export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
/Developer/iphoneentitlements30/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

 

 

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

三、Xcode真机调试

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

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

 

还有个问题,真机调试需要首先安装对应真机版本的sdk, 而模拟器可以模拟很多版本

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值