1,創建證書
打開“鑰匙串訪問”創建證書


填寫好內容后點擊繼續,之后的步驟什么都不用改,一路點擊“確定”和“繼續”,最后完成這個向導就可以了。
我們創建的證書是不被信任的,右鍵點擊證書選擇“顯示簡介”,在信任里選擇“始終信任”。

2,修改Xcode配置文件
關閉Xcode。然后打開“其他-終端”
<1>
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk/
備注:不同版本的Xcode最后的版本號不同。在Xcode 7.1中是 iPhoneOS9.1.sdk,未來版本可能版本高一些,早期版本的就低一些。請根據實際情況自己改動。(如果實在不知道自己的版本號,可以用“ls”指令查看所有文件。)
<2>
備份原文件,如果電腦設有密碼,系統會提示你輸入密碼(輸入后不會顯示出來,敲回車即可)
sudo cp SDKSettings.plist SDKSettings.plist.orig
<3>
編輯配置文件SDKSettings.plist
首先,修改文件夾權限,此時我們所在目錄是iPhoneOS9.1.sdk,如果輸入指令“cd ..”返回上級目錄,“ls -al”查看所有文件,會發現系統顯示iPhoneOS9.1.sdk -> iPhoneOS.sdk,這表示iPhoneOS9.1.sdk是指向iPhoneOS.sdk的快捷方式,所以我們要修改的真正文件夾是 iPhoneOS.sdk,指令如下:
sudo chmod -R 777 iPhoneOS.sdk
打開這個文件所在目錄:
open .
在彈出的Finder窗口中雙擊 SDKSettings.plist ,會啟動Xcode的圖形界面,展開 DefaultProperties 分 支,將下面的ENTITLEMENTS_REQUIRED和CODE_SIGNING_REQUIRED兩個屬性改為 NO。
<4>
編輯配置文件Info.plist
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform sudo cp Info.plist Info.plist.orig open .
備注:同第<3>步,需要修改Platforms 文件夾權限和該文件夾內所有文件的權限,步驟同上
在彈出的Finder窗口中雙擊打開 Info.plist 。分別在 DefaultProperties 分支 下、 RuntimeRequirements 分支下和 OverrideProperties 分支下 ,將全部的 XCiPhoneOSCodeSignContext 修改成 XCCodeSignContext 。
<5>
准備自定義的生成后腳本(此步驟需在聯網狀態下進行)
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
3,修改工程設置
備注:本階段之前的修改配置文件、准備腳本等,只需要做一次。但本階段的操作,對每個需要真機調試的工程都要做一遍。
將工程配置“Build Settings”中所有的Code Signing選項全部設為Don’t Code Sign

4,開始打包



編譯完成后進入/Users/你的用戶名/Library/Developer/Xcode/DerivedData/以工程名打頭的文件夾/Build/Products/Release-iphoneos 文件夾下找到app文件,拉入到itunes就生成了我們想要的ipa文件了。
