XCode破解真机调试 3.0
一、这样做以后能怎样
- 以device模式编译出app
- 可以再越狱后的设备上运行
二、要会点什么
- 命令行,也就是terminal、终端、控制台。。。
- vim
三、开始吧!
1、制作一个证书
打开实用工具-钥匙串访问。然后在菜单栏里点击钥匙串访问-证书助理-创建证书
第一个步骤比较重要,必须要把名称命名为iPhone Crack Developer(这个名字跟后面的一些小脚本对应,如果改了,那么对应的都要改,用浏览器的搜索就可以看到对应的地方)
图中的iPhone Developer应该为iPhone Crack Developer
将类型设定为代码签名,将”让我覆盖这些默认值”选中。之后的步骤无需更改,一路点击“确定”和“继续”来完成这个向导就可以。
2、破解ios sdk及其xcode的相关配置文件
由于权限问题,使用命令行来修改:
修改/Developer/Platforms/iPhoneOS.platform目录下的Info.plist文件,将其中的 XCiPhoneOSCodeSignContext 都改为XCCodeSignContext
修改/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk目录下的SDKSettings.plist文件,修改如下字段(将YES改为NO),修改后如下:<key>CODE_SIGNING_REQUIRED</key>
<string>NO</string>
<key>ENTITLEMENTS_REQUIRED</key>
<string>NO</string>复制下面代码:
#!/bin/bash
cd /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 -n working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support将它保存成文件来执行或者直接用终端执行命令。
3、修改xcode工程配置文件
cd /Developer
mkdir xcode-crackgen_entitlements.txt (812
字节, 224 次)下载上面的python脚本,将扩展名改为py,放到刚创建的文件夹xcode-crack中。
将工程配置中所有的Code Signing选项全部设为Don’t Code Sign,如图。可能需要先点击“All”让这个选项显示出来
在Build Phases中添加一个Phase,右下角的Add Build Phase,然后单击Add Run Script,输入以下脚本,其中的iPhone Developer与前面的证书名对应,这里我改成了iPhone Crack Develpoer:
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
/Developer/iphoneentitlements401/gen_entitlements.py "org.newmediacafe.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
codesign -f -s "iPhone Crack Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"
fi在xcode上选择product菜单,选择Build For —> Build for Achiving,就能生成app文件了
但如果选择Build For Run的话,xcode会崩溃(模拟器模式没问题)
按照上面的步骤导入3.x的工程成功运行,但是如果用XCode 4.2创建新工程,则会报错,需要做如下修改:
1、将【Objective-C Automatic Reference Counting】的默认值由【YES】改为【NO】;(build settings里面搜索reference可以找到)
2、在Build Phases中加入run script,方法如前
另附run script的位置:
xcode3 在左侧目录栏,展开target即可
xcode4:前面的图中有
==============================================================================================================================
XCode破解真机调试 4.2
网上有不少关于xocde3.x真机调试的文章,但鲜有xcode4.2相关的资料。参考了一些文章,终于可以在xcode4.2上进行真机调试了,在此记录下。
我会分几步来说明。值得说明的是,要想真机调试,ios device必须事先越狱 :-)
1.创建证书,这个没什么好说的,网上资料一大堆,只要别写错名字就好,证书名一定要为 iPhone Developer
2.破解ios sdk及其xcode的相关配置文件(双击配置文件就可以打开,注意SDKSettings.plist有权限控制)
修改/Developer/Platforms/iPhoneOS.platform目录下的Info.plist文件,将其中的 XCiPhoneOSCodeSignContext 都改为XCCodeSignContext
修改/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk目录下的SDKSettings.plist文件,修改如下字段:
<key>CODE_SIGNING_REQUIRED</key>
<string>NO</string> <key>ENTITLEMENTS_REQUIRED</key>
<string>NO</string>
3.破解xcode二进制文件。建立一个crack文件,内容如下:
#!/bin/bash
cd /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 -n working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support
然后执行 chmod +x crack
执行./crack,没错误就正常
4.修改xcode工程配置文件
1) 下载脚本
打开终端,执行如下操作
cd /Developer
mkdir xcode-crack
cd xcode-crack
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py
2) 禁用Xcode自动的签名操作
将工程配置中所有的Code Signing选项全部设为Don't Code Sign,如图。可能需要先点击“All”让这个选项显示出来
3)添加自定义的生成后脚本
在Build Phases中添加一个Phase,右下角的Add Build Phase,然后单击Add Run Script,输入以下脚本(如图)
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
/Developer/xcode-crack/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
5。打包应用程序,生成ipa文件
在xcode上选择product菜单,选择Build For ---> Build for Achiving,就能成ipa文件了。如图:
可以将这个文件拖到itunes,就可以生成一个ipa文件,如图:
至此,我们就可以随心所欲地开发并调试ios程序了,并可以将打包好的ipa文件分享给他人 :-)
文件的话我已经打包好,要的话可以留言。