一. 手机或者是Ipad必须已经越狱。
二. 伪造签名证书
注意:名称 务必填写 iPhone Developer 注意大小写和空格,其次如果你本身有Apple的develop证书,比如是公司的或者是其他团队的,建议你先在钥匙串访问中 将他们全部导出,然后删除。以免不必要的影响。
(1)打开系统自带的 “钥匙串访问” 程序,然后创建一张伪签名证书
(2)创建完伪签名证书后,需要双击打开该证书,让系统始终信任该证书
三. 修改Xcode的配置文件
注意:
下面的修改中如果有权限问题可以先复制一份,修改后在拷贝回去。
请右键用Xcode打开要修改的文件,进行编辑。网上也有人是用VI编辑的,不过我用VI编辑乱码。
每个文件编辑前最好备份,以免意外。
(1)修改SDKSettings.plist文件
用Finder打开应用程序文件夹,选中 XCode,右键-》显示包内容。
然后进入到以下目录:Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/
打开该目录下的SDKSettings.plist文件,把CODE_SIGNING_REQUIRED和ENTITLEMENTS_REQUIRED的值改成NO
(2)修改Info.plist文件
进入到目录:Contents/Developer/Platforms/iPhoneOS.platform/
打开该目录下的Info.plist文件,右击--Add Row,增加两项:
PROVISIONING_PROFILE_ALLOWED 值为 NO
PROVISIONING_PROFILE_REQUIRED 值为 NO
(3)将上面Info.plist文件中的 "XCiPhoneOSCodeSignContext" 替换成"XCCodeSignContext"(共3处)
(4)设置gen_entitlements.py脚本
下载这个文件:文件
将下载的文件直接放到“下载”根目录,用终端修改该文件的权限。它会要求你输入系统账号密码
在目录:Contents/Developer,新建一个文件夹,命名为:iphoneentitlements
将刚刚修改了权限的文件直接拖到新建的 iphoneentitlements 文件夹
四. 修改项目属性
1)点击Project项目图标,找到"BuildSettings"选项下的"Code Signing",将其值全部改为"iPhone Developer"
2)点击TARGETS项目图标,找到"BuildSettings"选项下的"Code Signing",将其值全部改为"Don't Code Sign"
3)点击TARGETS项目图标, 切换到Build Phases选项,点击Editor – Add Build Phase – Add Run Script Build Phase,然后输入以下脚本:
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphoneos" ] || [ "${PLATFORM_NAME}" == "ipados" ]; then /Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/";
fi
复制项目的 Bundle identifier ,替换掉刚刚脚本文件中 “my.company.${PROJECT_NAME}”这段内容,上图就是我替换后的截图
注意:每次真机运行时,都需要修改项目属性和添加以上给的脚本。修改后,如果再用回模拟器运行时,会有些问题,所以建议复制一份项目代码,一份用以模拟器,一份用以真机运行测试。
五. 好了现在可以连接设备将项目运行到真机上了。以上步骤中不要连接设备,不然有时会出现未知错误。
如果是Xcode 5,参考博客:http://bob-zhangyong.blog.163.com/blog/static/17610982013112855551277/