您的位置:首页 > 移动开发 > IOS开发

免证书在MacOSX10.8.2上使用XCode4.5.2上真机调试

2013-01-09 23:49 471 查看
网上又很多关于免证书调试的教程,本文借鉴了许多,其中比较不错的是http://blog.csdn.net/lgm252008/article/details/8462753,大家可以参考,感谢heartrude的分享。

由于本人不太熟悉Unix系统上那些破命令,习惯了界面操作,所以向大家分享下我是如何破解xcode实现真机调试的,

首先你需要你的ios设备是已经越狱的,没有越狱目前我还不知道如何调试,也许有办法,相信大神们能够研究出来。其次需要安装Xcode4.5.2(想必看到这篇文章的同学大部分是安装了的)如果你的设备没有越狱可以忽略本文,飘过。当然也可以继续往下看,看我是如何做到的。

很高兴你能看到这。。。

下面开始破解过程:

1. 使用钥匙链工具创建证书

钥匙连工具在LaunchPad中图表如下图(图1)所示



(图1)

打开后使用证书助手创建证书,如下图(图2)



(图2)

点击创建证书后弹出如下界面(图3)



(图3)

填写说明见上图,之后一路点击确定之后创建完成,中间不需要做任何其他更改。。。

上图中名字为iPhone Developer

2. 修改XCode的配置文件

这里需要改的有SDKSettings.plist和 Info.plist这两个文件

回到桌面,进入到电脑根目录下,如下图(图4)



(图4)

点击Computer进入到系统根文件夹



(图5)
切换到如下浏览模式, Applications文件夹下看到Xcode了吧(如下图(图6)),接着往下看。。。



(图6)

右键上图中的Xcode点击Show Package Contents



(图7)

点击之后资源管理器应该变成下面的样子。



(图8)

然后点击Contents->Developer->Platforms->iPhoneOS.platform,结果如下图



(图9)

看到info.plist 了吧,这是我们需要改的其中一个文件,双击后会自动选择Xcode打开,

改之前请先备份,info.plist.orig就是我的备份文件

打开后如下图



(图10)

展开上图中的红色方框中的项,将其中键值有XCiPhoneOSCodeSignContext 的修改成 XCCodeSignContext

保存关闭

继续点击(图9)中的Developer->SDKs->iPhongOS6.0sdk结果如下图



(图11)

此时我们已经能看到我们要改的第二个文件SDKSettings.plist, 同样为了安全起见先备份一下,SDKSettings.plist.orig是我的备份文件。

双击SDKSettings.plist,,自动由xcode打开



(图12)

展开上图(图12)中的红色框中的项,将其中的CODE_SIGNING_REQUIRED和ENTITLEMENTS_REQUIRED两个属性改为NO

保存后关闭。

至此我们完成了Xcode配置文件的修改。

3. 创建并运行脚本

使用TextEdit或者其他任何文本工具在桌面上创建一个script文件,文件内容如下

#!/bin/bash
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
printf "xc3x26x00x00" >> working
/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
/bin/mv working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support
保存退出后打开命令行窗口cd Desktop/ 

然后修改文件权限为777, 命令为chmod 777 script

然后执行脚本命令为 ./script

执行完后输出类似这样的文字就代表成功了

67+1 records in

67+1 records out

33804 bytes transferred in 0.009863 secs (3427390 bytes/sec)

4. 自定义生成脚本

拷贝下面的命令到命令行窗口,不出意外自动执行, 需要联网,没联网的参考http://blog.csdn.net/lgm252008/article/details/8462753

mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements
cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements

curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py

5. 修改项目配置

 将你的xcode项目BuildSettings中的所有的Code Signing选项全部设为Don't Code
Sign

如下图



(图13)

然后在BuildPhases中点击这个(图14中所示)



(图14)

添加执行脚本

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
添加后效果如下图(图15)



(图15)

至此我们已经完成了所有的配置,插上你的设备享受真机调试吧。。。

后记:

本文大量的命令来自http://blog.csdn.net/lgm252008/article/details/8462753,本文在此基础上完成。

转载请注明:http://blog.csdn.net/w568083142/article/details/8487701谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息