1.創建證書
創建證書的過程比較簡單,打開實用工具-鑰匙串訪問。然後在菜單欄裏點擊鑰匙串訪問-證書助理-創建證書來打開向導。第一個步驟比較重要,必須要把名稱命名爲iPhoneDeveloper,將類型設定爲代碼簽名,將"讓我覆蓋這些默認值"選中。之後的步驟無需更改,一路點擊“確定”和“繼續”來完成這個嚮導就可以。
2.修改配置文件
進入目錄並備份原文件: Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
用文本編輯器打開: SDKSettings.plist
將以下兩段中的YES改爲NO
<key>CODE_SIGNING_REQUIRED</key>
<string>YES</string>
和
<key>ENTITLEMENTS_REQUIRED</key>
<string>YES</string>
下面修改另外一個文件,進入目錄: Contents/Developer/Platforms/iPhoneOS.platform
用文本編輯器打開: Info.plist
全部的XCiPhoneOSCodeSignContext修改成XCCodeSignContext(有三處)
3.準備自定義的生成後腳本,連接互聯網後執行:
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
4.修改工程設置
將工程配置中所有的Code Signing選項全部設爲Don't Code Sign:
添加自定義的生成後腳本
在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
現在可以插上你的iPhone(前提:iPhone已越獄),測試你的程序!