破解Xcode 6.1 免证书真机应用测试

一. 手机或者是Ipad必须已经越狱。

二. 伪造签名证书

注意:名称 务必填写 iPhone Developer 注意大小写和空格,其次如果你本身有Apple的develop证书,比如是公司的或者是其他团队的,建议你先在钥匙串访问中 将他们全部导出,然后删除。以免不必要的影响。

    (1)打开系统自带的 “钥匙串访问” 程序,然后创建一张伪签名证书

             破解Xcode 6.1 免证书真机应用测试_第1张图片

             破解Xcode 6.1 免证书真机应用测试_第2张图片

             破解Xcode 6.1 免证书真机应用测试_第3张图片

             破解Xcode 6.1 免证书真机应用测试_第4张图片

             破解Xcode 6.1 免证书真机应用测试_第5张图片

            破解Xcode 6.1 免证书真机应用测试_第6张图片

            破解Xcode 6.1 免证书真机应用测试_第7张图片

            破解Xcode 6.1 免证书真机应用测试_第8张图片

           破解Xcode 6.1 免证书真机应用测试_第9张图片

           破解Xcode 6.1 免证书真机应用测试_第10张图片

           破解Xcode 6.1 免证书真机应用测试_第11张图片

          破解Xcode 6.1 免证书真机应用测试_第12张图片


       (2)创建完伪签名证书后,需要双击打开该证书,让系统始终信任该证书

           破解Xcode 6.1 免证书真机应用测试_第13张图片


三. 修改Xcode的配置文件

注意:

下面的修改中如果有权限问题可以先复制一份,修改后在拷贝回去。

请右键用Xcode打开要修改的文件,进行编辑。网上也有人是用VI编辑的,不过我用VI编辑乱码。

每个文件编辑前最好备份,以免意外。


   (1)修改SDKSettings.plist文件

 用Finder打开应用程序文件夹,选中 XCode,右键-》显示包内容。

 然后进入到以下目录:Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/

 打开该目录下的SDKSettings.plist文件,把CODE_SIGNING_REQUIREDENTITLEMENTS_REQUIRED的值改成NO

破解Xcode 6.1 免证书真机应用测试_第14张图片


(2)修改Info.plist文件

 进入到目录:Contents/Developer/Platforms/iPhoneOS.platform/

打开该目录下的Info.plist文件,右击--Add Row,增加两项:

PROVISIONING_PROFILE_ALLOWED 值为 NO

PROVISIONING_PROFILE_REQUIRED 值为 NO

破解Xcode 6.1 免证书真机应用测试_第15张图片

(3)将上面Info.plist文件中的 "XCiPhoneOSCodeSignContext" 替换成"XCCodeSignContext"(共3处)

破解Xcode 6.1 免证书真机应用测试_第16张图片


(4)设置gen_entitlements.py脚本

  下载这个文件:文件   

   将下载的文件直接放到“下载”根目录,用终端修改该文件的权限。它会要求你输入系统账号密码

   破解Xcode 6.1 免证书真机应用测试_第17张图片

 在目录:Contents/Developer,新建一个文件夹,命名为:iphoneentitlements

 将刚刚修改了权限的文件直接拖到新建的  iphoneentitlements  文件夹  


四. 修改项目属性

1)点击Project项目图标,找到"BuildSettings"选项下的"Code Signing",将其值全部改为"iPhone Developer"

破解Xcode 6.1 免证书真机应用测试_第18张图片


2)点击TARGETS项目图标,找到"BuildSettings"选项下的"Code Signing",将其值全部改为"Don't Code Sign"

破解Xcode 6.1 免证书真机应用测试_第19张图片


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


破解Xcode 6.1 免证书真机应用测试_第20张图片


复制项目的 Bundle identifier ,替换掉刚刚脚本文件中 “my.company.${PROJECT_NAME}”这段内容,上图就是我替换后的截图

破解Xcode 6.1 免证书真机应用测试_第21张图片


注意:每次真机运行时,都需要修改项目属性和添加以上给的脚本。修改后,如果再用回模拟器运行时,会有些问题,所以建议复制一份项目代码,一份用以模拟器,一份用以真机运行测试。


五. 好了现在可以连接设备将项目运行到真机上了。以上步骤中不要连接设备,不然有时会出现未知错误。           

破解Xcode 6.1 免证书真机应用测试_第22张图片





如果是Xcode 5,参考博客:http://bob-zhangyong.blog.163.com/blog/static/17610982013112855551277/

         


你可能感兴趣的:(ios)