環境:
1、windows XP系統下安裝VMWare8.1
2、Mac OS X 10.7.4+XCode4.3.3+模擬器iOS5.1
按以下步驟配置
1、生成iPone Developer證書
2、修改XCode系統文件
3、配置XCode項目環境
4、Xcode Build項目打包
下面逐步說明
1、生成iPhone Developer證書
此步驟網上很多,使用 鑰匙串訪問 工具,“鑰匙串訪問->證書助理->創建證書”名稱必須寫成 “iPhone Developer”其他全部默認,直至證書生成完成。
在使用“證書助理”創建證書時,要將證書的類型選擇爲“代碼簽名”。
2、修改XCode系統文件
此步驟需要進行兩個文件的修改和一個文件的添加
(系統文件開始是隱藏的,可以使用命令 defaults write com.apple.finder AppleShowAllFiles -bool True 來修改系統文件的可見,參數改爲False爲隱藏,命令修改完成後需 apple->強制推出 Finder來刷新系統文件顯示)
然後命令行運行:
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
sudo vim SDKSettings.plist
此時進入vim文件編輯狀態(會提示password 輸入Mac登陸密碼後回車)
(注:i 進入Insert狀態,修改完成後按ESC鍵退回到命令狀態,Q退出 :w 保存 :q 退出)
修改
<key>CODE_SIGNING_REQUIRED</key>
<string>NO</string>
<key>ENTITLEMENTS_REQUIRED</key>
<string>NO</string>
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
sudo vim info.plist
修改文件內三處<string>XCiPhoneOSCodeSignContext</string>爲<string>XCCodeSignContext</string>
在最後</dict>前添加
<key>PROVISIONING_PROFILE_ALLOWED</key>
<string>NO</string>
<key>PROVISIONING_PROFILE_REQUIRED</key>
<string>NO</string>
修改完成後保存
添加文件gen_entitlements.py
cd /Applications/Xcode.app/Contents/Developer/
mkdir iphoneentitlements(如果創建失敗可直接通過Finder 前往 /Applications/Xcode.app/Contents/Developer/手動去創建此文件夾)
cd iphoneentitlements
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt(通過網站下載了一個文件)
mv gen_entitlements.txt gen_entitlements.py
如果沒有連接網絡的,可通過其他電腦直接打開網頁複製保存爲gen_entitlements.txt通過共享盤複製到目錄
3、配置XCode項目
需要進行三個設置Project-Build Settings、Targets-Build Settings、項目下的xxx_info.plist和添加一個Entitlements.plist文件
(1)Project-Build Settings設置
Code Signing Identity項目全部設置爲Don't Code Sign
(2)Targets-Build Settings設置
Code Signing Entitlements設置爲xxx/Entitlements.plist(xxx爲你的項目名稱,與新增Entitlements.plist文件文件路徑一致)
Code Signing Identity設置爲iPhone Developer,Debug和Release下的子項設置爲Don't Code Sign
Build Phases新增一項內容爲
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
(3)項目下的xxx_info.plist設置
新增一項
SingerIdentity 值爲 Apple iPhone OS Application Signing
(4)新增文件Entitlements.plist
位置爲項目下的項目文件夾下
New File->iOS->Resource->Property List
新建項目
Key:Can be debugged
Type:Boolean
Value:NO
4、Xcode Build項目打包
前面三項設置完成後選擇:iOS Device
不管有沒有真機連接,都可以通過Product->Build進行編譯,編譯前最好用以下Clern編譯完成後在
/Users/你的帳號/Library/Developer/Xcode/DerivedData/項目名-xxxxx/Build/Products/Release-iphoneos/xxxxxx.app
下找到一個APP文件夾,將此文件夾拖入iTunes中的應用程序會生成一個應用程序,然後拖出這個應用程序到桌面自動生成xxx.ipa的安裝程序就可以去真機上安裝了,真機只能是越獄的
其他參考索引:
http://jingyan.baidu.com/article/1709ad80af62f84634c4f0bb.html