參考 :
https://www.jianshu.com/p/32af2f71b4e5--老了,里面的一些命令現在都沒有了,但可以借鑒思路
https://www.jianshu.com/p/004c9346f9b0
1.切換到工程所在目錄
打開終端,輸入 cd ,並將工程所在文件夾拖入cd 后面,回車。(即.xcodeproj工程所在的位置)
2.清除
在終端繼續輸入xcodebuild clean,回車等待,clean成功后截圖如下。
xcodebuild clean
3.構建
xcodebuild archive -project /Users/chenpeisong/Desktop/test/HelloWorld/HelloWorld.xcodeproj -scheme HelloWorld -archivePath /Users/chenpeisong/Desktop/HelloWorld.xcarchive
說明:
-archive -project 后面跟工程路徑 /Users/chenpeisong/Desktop/test/HelloWorld/HelloWorld.xcodeproj -scheme 需要打包的Sheme,一般與工程名相同 HelloWorld -archivePath 后面跟.xcarchive文件的目標路徑可以自己自由設置 /Users/chenpeisong/Desktop/HelloWorld.xcarchive
archive成功后截圖
4.打包
xcodebuild -exportArchive -exportOptionsPlist /Users/chenpeisong/Desktop/ExportOptions.plist -archivePath /Users/chenpeisong/Desktop/HelloWorld.xcarchive -exportPath HelloWorld
說明:
-exportArchive -exportOptionsPlist plist文件路徑,包含證書信息 -archivePath .xcarchive文件路徑 -exportPath ipa文件目標路徑
其中關鍵就是exportOptionsPlist 文件需要在之前通過xcode打包導出ipa時的文件夾中去copy一個出來放在當前工程目錄中,然后將其拖入-exportOptionsPlist 后面即可。
打包成功后截圖:
可以看到HelloWorld文件夾中已經生成了helloworld.ipa文件
附:
打開plist文件長這樣
plist字段說明:
method:字符串,為打包的類型,分為app-store,ad-hoc,enterprise和development,根據自己實際打包情況填寫。
provisioningProfiles:字典,Xcode9需要,鍵值對為{bundleid:描述文件名},描述文件名最好使用其對應的UUID。
signingCertificate:證書類型,開發環境為iPhone Developer,生產環境為iPhone Distribution。
signingStyle:自動還是手動(manual與automatic),填寫manual即可。
stripSwiftSymbols:填寫為YES。
teamID:為開團隊ID,在鑰匙串中點擊證書詳情可以查看到。
uploadBitcode:為YES即可。
uploadSymbols:為YES即可
現在有一個問題是:生成archive文件 和ipa文件的過程中都需要輸入登錄密碼怎么辦?
解決辦法:
(這是臨時的解決辦法-在自動化打包時肯定不能這樣的吧)又走了一遍流程,這次點擊了【始終允許】,就不彈出了
或者參考這篇文章
https://blog.csdn.net/xiao_wu_xiao/article/details/50961661