Xcode 4.5.2 + iOS 6.0免證書(iDP)開發+真機調試+生成IPA全攻略

1.創建證書
創建證書的過程比較簡單,打開實用工具-鑰匙串訪問。然後在菜單欄裏點擊鑰匙串訪問-證書助理-創建證書來打開向導。第一個步驟比較重要,必須要把名稱命名爲iPhone Developer,將類型設定爲代碼簽名,將"讓我覆蓋這些默認值"選中。之後的步驟無需更改,一路點擊“確定”和“繼續”來完成這個嚮導就可以。


2.修改Xcode的配置文件和二進制文件
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk
sudo cp SDKSettings.plist SDKSettings.plist.orig
sudo cp SDKSettings.plist /Users/fortunafortuna/Desktop/
sudo /Applications/Xcode.app/Contents/MacOS/Xcode /Users/fortunafortuna/Desktop/SDKSettings.plist
會啓動Xcode的圖形界面,我們展開DefaultProperties分支,將下面的CODE_SIGNING_REQUIREDENTITLEMENTS_REQUIRED兩個屬性改爲NO(如果通過命令打不開這個文件,就在桌面手動打開)
保存完成以後在Finder中進入/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk,替換裏面的SDKSettings.plist

下面修改另外一個文件,進入目錄並備份原文件
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
sudo cp Info.plist Info.plist.orig
sudo cp Info.plist /Users/fortunafortuna/Desktop/
sudo /Applications/Xcode.app/Contents/MacOS/Xcode /Users/fortunafortuna/Desktop/Info.plist
將全部的 XCiPhoneOSCodeSignContext 修改成 XCCodeSignContext,總共有三處,分別在DefaultProperties分支下、RuntimeRequirements分支下和OverrideProperties分支下。

3.準備自定義的生成後腳本
連接互聯網後執行(必須要聯網)
sudo mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements
cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements
sudo curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
sudo mv gen_entitlements.txt gen_entitlements.py
sudo chmod 777 gen_entitlements.py

4.修改工程設置
(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


至此配置全部完成,下面就可以插上iPhone,重新選擇生成目標來測試一下在線調試了!

解決方法:選中當前的xib文件,在屬性欄裏面進行以下操作:
在右邊的 inspector 一欄將 interface builder document 下的 use autolayout 複選框去掉就可以了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章