方式一: 使用xcodebuild
命令
步驟
0. 準(zhǔn)備工作:基礎(chǔ)參數(shù)
# 項目名稱剪芥,打包后生成 .ipa 文件的名稱
projectName="JimuDudu"
# 項目目錄(一般情況下两芳,shell 腳本就在項目路徑下)
workspacePath="/Users/apple/Documents/Projects/dudu/jimu-dudu-ios/jimu-dudu/"
# Archive 后双戳,文件導(dǎo)出目錄
archivePath="/Users/apple/Desktop/tmp/build/"
# 獲取 shell 腳本所在目錄
currentPath=$(cd `dirname $0`; pwd)
1. Build
xcodebuild -scheme ${projectName} -workspace "${workspacePath}${projectName}.xcworkspace" -configuration Release clean build
2. Archive
xcodebuild -scheme ${projectName} -workspace "${workspacePath}${projectName}.xcworkspace" -configuration Release archive -archivePath "${archivePath}${projectName}"
3. Export .ipa file
xcodebuild -exportArchive -archivePath "${archivePath}${projectName}.xcarchive" -exportPath ${archivePath} -exportOptionsPlist "${currentPath}/ADHocExportOptions.plist"
總結(jié)
TIPS
- shell 腳本和 plist 文件在一個目錄下(也可以不在一個目錄,本示例是在一個目錄下,一般情況寥掐,shell 腳本和 plist 文件都會在項目目錄下胀屿。)
- 正常情況糊昙,shell 腳本和 plist 文件都會在項目目錄下费奸,所以 workspacePath 和 archivePath 等路徑弥激,都可以寫成相對路徑
- 編譯前還有一些準(zhǔn)備工作,比如拉取最新代碼
- 這樣打包過程很耗時愿阐,在本機(jī)上測試微服,大概需要26分鐘!
- 這種方式缨历,可能會跟隨 Xcode 版本的升級而略有改變以蕴,否則就會報錯。
推薦指數(shù):※※※
方式二: 手動編譯辛孵,自動打包
一般打測試包的方式
說明
- 手動編譯丛肮,生成 .app 文件
- 把 .app 文件放在名字為 Payload 文件夾下
- 壓縮文件夾,生成 .zip 文件
- 修改文件名:.zip -> ipa魄缚,打包完成
步驟
0. 準(zhǔn)備工作:修改 Xcode 中的配置
1. Build(command + B)
2. 執(zhí)行腳本宝与,自動打包并生成 .ipa 文件
腳本簡介
流程圖
主要代碼
# 創(chuàng)建 Payload 文件夾
payloadPath=${basicPath}/Payload
mkdir -p ${payloadPath}
# 移動 .app 文件到 Payload 目錄下
cp -r ${appFileFullPath} ${payloadPath}
# 打包并生成 .ipa 文件
zip -q -r ${ipaFileName} ${payloadPath}
總結(jié)
TIPS
- 執(zhí)行腳本時,可以傳入 .app 文件所在路徑冶匹,或者不傳习劫;不傳的話,默認(rèn)從當(dāng)前路徑獲取嚼隘,獲取不到報錯
- 執(zhí)行腳本時诽里,如果傳入的參數(shù)不包含 .app 文件名,則需要手動輸入嗓蘑,若輸入錯誤须肆,報錯,終止程序桩皿。
- 一般而言豌汇,shell 腳本配置一次之后,就再也不需要修改泄隔。屬于一勞永逸的事拒贱。
推薦指數(shù):※※※※※
方式三: Product -> Archieve -> Export
一般打提交 App Store 包的時候,會這么操作佛嬉。