发ios一般在虚拟机上就可以了,但是产品接近完成时,我们还是要在真机上看看效果。
或者自己写一个小程序,和朋友分享分享,都是挺方便的。
使用环境:越狱过的iPhone/touch 机器 Mac OS 10.8.2 xCode 4.5.2(iOS设备需要越狱并从Cydia安装AppSync。)
1. 创建假证书很多文章里面描述关于配置文件的路径,此处要特别说明一下,由于XCode不同版本它的路径也是不一样的。
之前的版本目录可能是:/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOSXXX.sdk/
而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文件,修改"Default Properties "项下面得 "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。
5、在项目中添加一个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上了。
当你运行程序时,可以通过 organizer 看到你得iphone 运行时打印出来得Log。