[资源分享] (转载)Xcode 3.2.5免证书开发调试(经过本人测试xcode4.0使用)
转载自:http://www.codeios.com/thread-1054-1-1.html
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免证书开发调试_输入证书名称iPhone Developer并选择覆盖默认值
Xcode 3.2.5免证书开发调试_确定继续
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免证书开发调试_主题备用名称扩展输入RFC822名称,填入邮箱名即可
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 这里 很多人不知到怎么弄。。大家都知道 xx.plist 格式是键值对的。所以我们应该这样弄<key>PROVISIONING_PROFILE_ALLOWED</key>
-
<string>NO</string>
-
<key>PROVISIONING_PROFILE_REQUIRED</key>
- <string>NO</string>
- Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.xxxx' could not be found
然后找到你项目的xxx-Info.plist文件,添加”SignerIdentity”项,其值为”Apple iPhone OS Application Signing”.保存。
Xcode**完成,或者更准确的讲,是配置完成!
Xcode真机调试
将 iPhone接入电脑,在Xcode的Window-&gt;Organizer中会侦测到你的iPhone.查看iPhone和你的Xcode识别正常 后退出Organizer,选择编译环境为”iPhone Device-4.2|Release”,点击”Build and Go”,期间会出现让我们选择签名证书,点选”允许”后,等待你的iPad/iPhone屏幕点亮就ok了。
你的程序会自动下载到你的iPhone中,可以进行真机调试了
饿 经过本人测试 xcode 4.0 可以用于真机调试了。哦嘿嘿 庆祝下
但是还要一些额外的步凑 。如果不做的话 可以将程序写进真机 但是无法调试会出现如下的错误
解决方法是。。在Xcode的File菜单上,New File -> iPhone OS -> Code Signing -> Entitlements,新建了一个“Entitlements.plist”点Finish,然后打开此文件,设置一个“get-task-allow”属性为false,保存。
然后我们回到target 找到'bulid settings'->"Code Signing Entitlements"->将我们刚才新建的Entitlements.plist 写到 里面
这样 运行后就可以在真机调试了。。
--------------------------------------------------------------------------------------------------------------------------------------------
问:
那啥,我添加Entitlements.plist以后要写get-task-allow的时候老是提示我以及存在,
是否替换,确定替换了在Entitlements.plist又看不见,请问楼主是这样的情况吗
答:
xcode 4.0这个键值已经存在了只要创建这个文件就行了.
然后target 找到'bulid settings'->"Code Signing Entitlements"->将我们刚才新建的Entitlements.plist 写到
里面
这样 运行后就可以在真机调试了。。