<div>如下内容转自java123.可是根据xcode4.2本身找到了 xcode4.2没 code signing的解决办法实现真机调试。</div> <div>-------------------------------------------------------------------------</div> 因为没有购买苹果的开发者证书,因此目前大多数开发环境都是使用如下的方式实现开发与真机测试(本文部分摘自网络) 使用环境:越狱过的iPhone 机器 Mac OS 10.6.8 xCode 4.0.1 及Xcod <div> <table> <tbody> <tr> <td> <div id="contentMidPicAD"></div> 因为没有购买苹果的开发者证书,因此目前大多数开发环境都是使用如下的方式实现开发与真机测试(本文部分摘自网络)java
使用环境:越狱过的iPhone 机器 Mac OS 10.6.8 xCode 4.0.1 及Xcode4.0.2xcode
操做步调过程:网络
(一)制做证书iphone
一、 打开 Finder->应用程序->实用工具 -> 钥匙串访问编辑器
二、单击:"钥匙串访问"选择 "证书" 再选择"建立证书"过程以下图:工具
<img src="http://www.java123.net/uploads/allimg/111027/011R514Q-0.png" alt="" border="0" />测试
三、证书名称必须填写为:"iPhone Developer" ,(不克不及随便填写)而后点击"建立"。(如图)ui
<img src="http://www.java123.net/uploads/allimg/111027/011R5H26-1.png" alt="" border="0" />.net
<img src="http://www.java123.net/uploads/allimg/111027/011R54550-2.png" alt="" border="0" />debug
<img src="http://www.java123.net/uploads/allimg/111027/011R53428-3.png" alt="" border="0" />
<img src="http://www.java123.net/uploads/allimg/111027/011R5I15-4.png" alt="" border="0" />
<img src="http://www.java123.net/uploads/allimg/111027/011R52F0-5.png" alt="" border="0" />
<img src="http://www.java123.net/uploads/allimg/111027/011R53Y6-6.png" alt="" border="0" />
<img src="http://www.java123.net/uploads/allimg/111027/011R5KP-7.png" alt="" border="0" />
<img src="http://www.java123.net/uploads/allimg/111027/011R53291-8.png" alt="" border="0" />
<img src="http://www.java123.net/uploads/allimg/111027/011R52529-9.png" alt="" border="0" />
(二)修改xcode配置文件
注意:因为这些配置文件是系统文件,修改系统文件须要管理员权限才能够进行操做,因此保存的时候不克不及直接保存,会遇到系统提示"你没有修改此文件得权限",但能够保存一个副本。能够先修改这个副本,而后再复制到原先的目录,系统会提示你是否修改替换,选择"替换",这时候是须要管理员密码才能够覆盖原来的文件,输入密码后,修改完成。
1.修改SDKsettings.plist文件。
找到 " /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk "下得 SDKSettings.plist 文件,修改"Default Properties "项下面得 "CODE_SIGNING_REQUIRED "得值为:NO。
2.修改"/Developer/Platforms/iPhoneOS.platform/Info.plist"文件(用文本编辑器或者Xcode打开):
<img src="http://www.java123.net/uploads/allimg/111027/011R5M38-10.png" alt="" />
增长两项:
PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO
效果以下图所示:
<img src="http://www.java123.net/uploads/allimg/111027/011R52C2-11.png" alt="" />
而后将全部"XCiPhoneOSCodeSignContext"替换为"XCCodeSignContext"。
<img src="http://www.java123.net/uploads/allimg/111027/011R53062-12.png" alt="" />
3.修改好配置文件后重启xcode,修改项目的属性
1)点击 项目图标,找到"Build Settings" 找到 "Code Sign Identity"
依照下面得方式设置一下就能够 了。
<img src="http://www.java123.net/uploads/allimg/111027/011R51303-13.png" alt="" />
2) 设置工程属性:
<img src="http://www.java123.net/uploads/allimg/111027/011R53232-14.png" alt="" />
<div>3)而后点击 Run 咱们会看到工程正在编译,而后弹出如图提示(两次):咱们选择 老是容许 4)在项目中添加一个Entitlement.plist文件,设置容许调试。</div> <div> <table> <tbody> <tr> <td> <div id="contentMidPicAD"></div>
<img src="http://www.java123.net/uploads/allimg/111027/011R52092-15.png" alt="" />
3)而后点击 "Run" 咱们会看到工程正在编译,而后弹出如图提示(两次):咱们选择 "老是容许"
<img src="http://www.java123.net/uploads/allimg/111027/011R54626-16.png" alt="" />
4)在项目中添加一个Entitlement.plist文件,设置容许调试。
注:若不操做该步可能链接真机调试的时候还会出现一个错误:Error launching remote program: failed to get the task for process xxx
操做步调:在Xcode4.X 中这样作:
a.在工程中依照这个执行建立一个名为:Entitlement.plist 文件In the File Menu, select New File -> iPhone OS -> Code Signing -> Entitlements. Name the file "Entitlements.plist" and click 'Finish'.
关键地方来了:xcode4.2中没有 code signing这一项。 因此咱们须要另外想办法解决。 咱们选择In the File Menu, select New File -> iPhone OS ->Resource->Property List.Name the file "Entitlements.plist" and click 'Finish'. 后面的照着作!
<img src="http://www.java123.net/uploads/allimg/111027/011R55622-17.png" alt="" />
b.打开 这个 "Entitlement.plist"文件,将 "Can be debugged"属性值改成 "YES"。
<img src="http://www.java123.net/uploads/allimg/111027/011R5G41-18.png" alt="" />
c.将Code Signing Entitlements 那项得值改成刚刚新建得"Entitlements.plist".
<img src="http://www.java123.net/uploads/allimg/111027/011R51458-19.png" alt="" />
4。提示选择完后:能够看到
<img src="http://www.java123.net/uploads/allimg/111027/011R55091-20.png" alt="" />
咱们就能够看到 程序能够出如今 你得iphone上了。
当你运行程序时,能够经过 organizer 看到你得iphone 运行时打印出来得Log。</td>
</tr> </tbody> </table> </div></td> </tr> </tbody> </table> </div>