申明:本文大部分是基于网上收集的资料,非常感谢以下两个博主:
(1) http://blog.sina.com.cn/s/blog_56f9bd310101bue1.html
(2)http://kqwd.blog.163.com/blog/static/4122344820117191351263/
折腾两三天 ,各种Bug 不断,总算把真调试的搞定,其中出来离奇古怪的错误,罗列下碰到问题:
1)failed to get the task for process 393---》是由于Xcode 工程下 building ,Code Signing Entitlements 那项得值改为刚刚新建得"Entitlements.plist" 可以解决
2)证书过期-;两种: (一)你生成证书的时候,机子设子的时间是否正确,不是当前时间也会发生错误
(二) 你在越狱的时候,没有安装APPsync ,假如在你的越狱的Cydia 软件库里没有找到Appsync 这个软件,可以参考http://iphone.91.com/content/2010-11-17/appsync-cydia-hackulous.shtml这个链接
3) 直接编译错误,这个要自己google 了
要实现 真机调试开发 基本步骤如下
(一) 创建证书
|
1-2
生成本机证书_输入证书名称iPhone Developer并选择覆盖默认值1-3
生成本机证书_确定继续1-4
生成本机证书_输入序列号有效期,有效期不要超过365天1-5
生成本机证书_输入电子邮件地址1-6
生成本机证书_输入密钥对信息(默认)1-7
生成本机证书_密钥使用扩展扩展选择:(签名)1-8
生成本机证书_已扩展的密钥使用扩展选择:(代码签名)1-9
生成本机证书_基本约束扩展(不选择)1-10
生成本机证书_主题备用名称扩展输入(RFC822名称),(邮箱名)1-11
生成本机证书_用于该证书的位置选择钥匙串类型为(登录)。(二)破解Xcode
1、修改SDKsettings.plist文件
找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk目录下SDKsettings.plist文件,修改"Default Properties "项下面得 "CODE_SIGNING_REQUIRED "和"ENTITLEMENTS_REQUIRED"得值都为:NO。
注:由于文件格式和之前的xcode的版本有变化,所以建议最好由xcode来打开plist文件,这样修改过程中能保证不出错。
2、修改Info.plist文件
找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform目录下的Info.plist文件
增加两项
PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO
随后将文件内的所有"XCiPhoneOSCodeSignContex
3、修改好配置文件后重启Xcode。
(三) 对个Project 设置building基本条件在项目中添加一个Entitlements.plist文件,设置允许调试。
注:若不操作该步可能连接真机调试的时候还会出现一个错误:failed to get the task for process xxx
a.New->File->iOS->Resouce->Property List
将文件名设为Entitlements.plist。
b.打开Entitlements.plist文件
添加一个属性Can be debugged,并将属性值设为YES。
c.修改targets的build setting属性值。
将Code Signing Entitlements 那项得值改为刚刚新建得"Entitlements.plist"
将Code Signing Identity中Any iOS SDK设置为iphone Developer,其他则改为Don't Code Sign.(此处要和证书里面那个名字要吻合)
我们就可以看到 程序可以出现在 你得iphone上了。