無真機調試證書打包ipa

環境: 
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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章