参考文献:http://blog.csdn.net/fightingbull/article/details/8059651
AppSync其实这个方法早就有,但是前提是你的测试终端需要安装AppSync,但是除了大神,谁可以在iOS6上安装AppSync?好吧,这个问题现在已经解决了,因为大神把iOS6的破解放出来了,好吧现在就开始吧。
第一步,创建假证书
创建证书的过程比较简单,打开实用工具-钥匙串访问。然后在菜单栏里点击钥匙串访问-证书助理-创建证书来打开向导。第一个步骤比较重要,必须 要把名称命名为iPhone Developer,将类型设定为代码签名,将"让我覆盖这些默认值"选中。之后的步骤无需更改,一路点击“确定”和“继续”来完成这个向导就可以。
第二步,安装Xcode4.5.2
下载Xcode4.5.2,并安装。需要注意的是从Xcode4.4.1之后Xcode就变成了独立运行程序(stand-alone),其安装变成了Copy。首先将dmg里的Xcode复制到Applications目录下,然后运行,此过程中会出现简单的配置过程。
第三步,修改Xcode的配置文件
需要修改配置文件有两个SDKSettings.plist和Info.plist,在Xcode4.5以前这两个文件都是xml格式,而这之后变成了二进制格式,需要用Xcode来编辑这两个文件。
(1)SDKSettings.plist修改
1) 从Finder中进入文件所在目录
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk
2) 找到SDKSettings.plist文件,并鼠标右击Duplicate一份,在同目录下产生SDKSettings copy.plist文件。
3)双击打开SDKSettings copy.plist文件,默认用Xcode,找到DefaultProperties分支,将下面的CODE_SIGNING_REQUIRED和ENTITLEMENTS_REQUIRED两个属性改为NO
4)如果需要备份原文件,则将原文件改名为SDKSettings.plist.bak。然后将SDKSettings copy.plist,改名为SDKSettings.plist。
(2)修改Info.plist
1) 从Finder中进入文件所在目录
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
或是从(1)中后退到该目录。
2) 找到Info.plist文件,并鼠标右击Duplicate一份,在同目录下产生Info copy.plist文件。
3)双击打开Info copy.plist文件,默认用Xcode,将全部的XCiPhoneOSCodeSignContext修改成 XCCodeSignContext,即将其中的iPhoneOS去掉,Xcode4.5.1有三处分别位于DefaultProperties分支下、RuntimeRequirements->Classes和OverrideProperties分支下。
4)如果需要备份原文件,则将原文件改名为Info.plist.bak。然后将Info copy.plist,改名为Info.plist。
第四步,修改工程设置
特别注意:本阶段之前的修改配置文件、准备脚本等,只需要做一次。但本阶段的操作,对每个需要真机调试的工程都要做一遍。
这个步骤的主要作用是支持真机调试,如果不做这个步骤,仍然可以通过步骤5来生成ipa在真机上运行,但是无法使用Xcode内置的调试器对在真机上运行的程序进行单步跟踪。如果您的程序在点击Run真机调试时秒退,请检查此步骤是否正确完成。
(1)禁用Xcode自动的签名操作
将工程配置中所有的Code Signing选项全部设为Don't Code Sign,如图。可能需要先点击“All”让这个选项显示出来
(2)添加自定义的生成后脚本
在Build Phases中添加一个Phase,右下角的Add Build Phase,然后单击Add Run Script,输入以下脚本
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