准备工作:
修改 Xcode5. 的相关配置文件让 Xcode5. 支持免证书签名打包。
".../Xcode.app/" 是 Xcode App的文件位置(可能是 ".../Xcode5.app" , ".../Xcode 5.app" 根据实际情况配置),
1、修改SDKsettings.plist文件(如果不能直接修改,就将文件拷贝到其他地方修改,修改好之后在替换)
找到 ".../Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/" 目录下SDKsettings.plist文件。
如果你是用iOS7.1 SDK进行编译,那么是 ".../Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/" 目录下SDKsettings.plist文件。
修改 "Default Properties" 项下面的 "CODE_SIGNING_REQUIRED" 和 "ENTITLEMENTS_REQUIRED" 的值设置为:NO。
2、修改Info.plist文件(如果不能直接修改,就将文件拷贝到其他地方修改,修改好之后在替换)
找到 ".../Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform" 目录下的Info.plist文件
增加两项
PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO
随后将文件内的所有"XCiPhoneOSCodeSignContext"替换为"XCCodeSignContext"。应该有3处需要修改。
打越狱包:
1. 选中需要打包的 Target;
2. 进入 Build Settings 中,将 "Provisioning" 全部设置为 "None","Code Signing Identity" 全部设置为 "Don’t Code Sign";
3. 进入 Build Phases 中,点击Xcode 导航栏 Editor 下的 Add Build Phases 下的 Add Run Script Build Phase;
勾选 Run Script only when installing
在输入框中复制以下内
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Devel oper/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
4. 切换到 Release 编译模式,进入Edit Scheme中,将 Build Configuration 设置成 Release ;
5. 删除 Products 里面的 XX.app;
6. 选择 非模拟器的设备,进行编译;
7. 将编译好 Products 里的 XX.app 拖到 iTunes 里就可以生产出越狱的ipa文件。【完成】
8. 还原工作。