环境:Mac OS 10.8.2 + Xcode4.5.2
ios设备:越狱过的iPhone/touch等机器(ipad2测试通过)
第一步.创建假证书
打开实用工具-钥匙串访问。然后在菜单栏里点击钥匙串访问-证书助理-创建证书来打开向导。
第一个步骤比较重要,必须要把名称命名为iPhone Developer,将类型设定为代码签名,将”让我覆盖这些默认值”选中。之后的步骤无需更改,一路点击“确定”和“继续”来完成这个向导就可以。
1.找到Xcode4.5.2下:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
/SDKs/iPhoneOS6.0.sdk
2、修改SDKsettings.plist文件
找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/
Developer/SDKs/iPhoneOS6.0.sdk目录下SDKsettings.plist文件
修改"DefaultProperties "项下面得 "CODE_SIGNING_REQUIRED"和"ENTITLEMENTS_REQUIRED"得值都为:NO。
注:由于文件格式和之前的xcode的版本有变化,所以建议最好由xcode来打开plist文件,这样修改过程中能保证不出错。
3、修改Info.plist文件
找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform目录下的Info.plist文件
增加两项
PROVISIONING_PROFILE_ALLOWED= NO
PROVISIONING_PROFILE_REQUIRED= NO
随后将文件内的所有"XCiPhoneOSCodeSignContext"替换为"XCCodeSignContext"。有3处需要修改。分别在DefaultProperties分支下、RuntimeRequirements分支下和OverrideProperties分支下。
4、修改好配置文件后重启Xcode。
现在已经可以不需要苹果证书,而借助假的证书将项目打包到真机上了。只是这时候还不能真机调试。调试时,一般会出现如下提示:
failed to get the task for process xxxx
5、在项目中添加一个Entitlements.plist文件,设置允许调试。
1).New->File->iOS->Resouce->Property List
将文件名设为Entitlements.plist。
2).打开Entitlements.plist文件
添加一个属性Can be debugged,并将属性值设为YES。
3).修改targets的build setting属性值。
将Code SigningEntitlements 那项得值改为刚刚新建得"Entitlements.plist"
将Code Signing Identity中Any iOS SDK设置为iphone Developer,其他则改为Don't Code Sign.(此处要和证书里面那个名字要吻合)
完成了这一步以后,就可以进行真机调试了!
这里生成了.app文件(有了这个.app文件,后面介绍将它转换成.ipa文件,这样越狱了的ios设备就可以安装了!)
下面是ipad2真机调试截图:
这里故意将资源名称少写一个字母,让它报错,进行调试!
这是真机调试时,帧率!
因为找不到资源所以报错,证明真机测试通过!!!哈哈!
注:只要连上真机并且Xcode检测到真机时,选择设备 IOS Device,成功编译运行后,在Products文件夹下会生成.app文件,再右键Show in Finder
就会进入到.app所在目录下,将其拷贝放到iTunes的Apps上,再将其拖到桌面或是其他地方,它就变成.ipa文件了,哈哈!!!越狱了的iphone等ios设备就可以使用91助手安装了!!!