溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

實(shí)例分析IOS實(shí)現(xiàn)自動(dòng)打包

發(fā)布時(shí)間:2020-08-30 20:48:42 來源:腳本之家 閱讀:159 作者:iOS_開發(fā) 欄目:移動(dòng)開發(fā)

方式一: 使用xcodebuild命令

步驟

0. 準(zhǔn)備工作:基礎(chǔ)參數(shù)

# 項(xiàng)目名稱,打包后生成 .ipa 文件的名稱

projectName="JimuDudu"

# 項(xiàng)目目錄(一般情況下,shell 腳本就在項(xiàng)目路徑下)

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 文件在一個(gè)目錄下(也可以不在一個(gè)目錄,本示例是在一個(gè)目錄下,一般情況,shell 腳本和 plist 文件都會(huì)在項(xiàng)目目錄下。)

正常情況,shell 腳本和 plist 文件都會(huì)在項(xiàng)目目錄下,所以 workspacePath 和 archivePath 等路徑,都可以寫成相對(duì)路徑

編譯前還有一些準(zhǔn)備工作,比如拉取最新代碼

這樣打包過程很耗時(shí),在本機(jī)上測(cè)試,大概需要26分鐘!

這種方式,可能會(huì)跟隨 Xcode 版本的升級(jí)而略有改變,否則就會(huì)報(bào)錯(cuò)。

方式二: 手動(dòng)編譯,自動(dòng)打包

一般打測(cè)試包的方式

實(shí)例分析IOS實(shí)現(xiàn)自動(dòng)打包

說明

手動(dòng)編譯,生成 .app 文件

把 .app 文件放在名字為 Payload 文件夾下

壓縮文件夾,生成 .zip 文件

修改文件名:.zip -> ipa,打包完成

步驟

準(zhǔn)備工作:修改 Xcode 中的配置

Build(command + B)

執(zhí)行腳本,自動(dòng)打包并生成 .ipa 文件

腳本簡(jiǎn)介

流程圖

實(shí)例分析IOS實(shí)現(xiàn)自動(dòng)打包

主要代碼

# 創(chuàng)建 Payload 文件夾

payloadPath=${basicPath}/Payload

mkdir -p ${payloadPath}

# 移動(dòng) .app 文件到 Payload 目錄下

cp -r ${appFileFullPath} ${payloadPath}

# 打包并生成 .ipa 文件

zip -q -r ${ipaFileName} ${payloadPath}

總結(jié)

TIPS

執(zhí)行腳本時(shí),可以傳入 .app 文件所在路徑,或者不傳;不傳的話,默認(rèn)從當(dāng)前路徑獲取,獲取不到報(bào)錯(cuò)

執(zhí)行腳本時(shí),如果傳入的參數(shù)不包含 .app 文件名,則需要手動(dòng)輸入,若輸入錯(cuò)誤,報(bào)錯(cuò),終止程序。

一般而言,shell 腳本配置一次之后,就再也不需要修改。屬于一勞永逸的事。

方式三: Product -> Archieve -> Export

一般打提交 App Store 包的時(shí)候,會(huì)這么操作。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI