自動化打包腳本
主要功能:
- 自動修改項目配置文件(服務(wù)器地址切換)
- 一鍵打包上傳到app-store
- 一鍵發(fā)布到蒲公英(并打開結(jié)果頁 可選)
-
一鍵發(fā)布到Fir(并打開結(jié)果頁 可選)
home.png
使用方法:
1.下載本項目并將以下文件拷貝到你的項目文件夾下與你的XXX.xcproject或XXX.xcworkspace在同一文件夾下
archive.sh
exportTest.plist
exportAppstore.plist
2.修改項目配置:
(1)替換工程名稱: 將第88行XXX替換成自己的工程名
(2)替換scheme名 將第91行XXX替換成自己的sheme名(默認和工程名相同)
(3)自動修改項目配置(本條可選,如不需要可跳過)
腳本中示例(136-138行)
sed -i '' '14c\
#define '${host}'\
' safeness/Common/APIDefine.h
以上腳本作用是修改 項目文件夾下 safeness/Common/APIDefine.h
中的第14行為#define 加上host的值
host根據(jù)用戶不同輸入在第117钓觉、121、126行分別進行了賦值
if [ $number == 4 ];then
clear
exit 0
elif [ $number == 1 ];then
development_mode=Release
exportOptionsPlistPath=${project_path}/exportAppstore.plist
elif [ $number == 2 ];then
host=ReleaseHost
development_mode=Debug
exportOptionsPlistPath=${project_path}/exportTest.plist
elif [ $number == 3 ];then
host=DebugHost
development_mode=Debug
exportOptionsPlistPath=${project_path}/exportTest.plist
fi
APIDefine.h中已經(jīng)定義了每個宏對應(yīng)的服務(wù)器地址
// 服務(wù)器地址選擇 【ReleaseHost巢钓、TestHost、DebugHost】
#define ReleaseHost//這是第14行腳本會自動修改這一行代碼
#if defined ReleaseHost
#define BaseUrl @"http://127.0.0.1:6001" //生產(chǎn)環(huán)境
#elif defined TestHost
#define BaseUrl @"http:`//127.0.0.1:8081" //開發(fā)環(huán)境
#elif defined DebugHost
#define BaseUrl @"http://127.0.0.1:7001" //測試環(huán)境
#endif
腳本中替換的邏輯已被注釋如果需要使用需刪除
131行 :<<EOF
和139行EOF
(4)修改App Store配置(可選) 將第200行和第201行 -u 后面的XXX替換成自己的AppleID的賬號扰法,-p后面的XXX替換成自己的密碼
(5)修改蒲公英配置(可選) 將第208和209行 XXX換成你在蒲公英獲取的uKey
和_api_key
如果需要打開上傳完成結(jié)果頁需要自己修改第211行的上傳完成的網(wǎng)頁地址
(6)修改上傳到Fir的配置(可選) 將第218行的XXX換成 你的fir的登錄Token 如果需要打開上傳完成結(jié)果頁需要自己修改第220行的上傳完成的網(wǎng)頁地址
注:如果需要使用fir需要安裝fir-cli使用以下命令安裝,如果權(quán)限不夠再前面加上sudo
gem install fir-cli
- 運行腳本 當終端處于任意目錄下都可以運行本腳本偎痛,第一次需要給予腳本執(zhí)行權(quán)限使用
chmod +x 腳本路徑
例如:
chmod +x /myCode/svn/safeness/archive.sh
之后每次需要執(zhí)行腳本可以直接將腳本拖入終端運行
/myCode/svn/safeness/archive.sh
*編譯時配置可以通過修改兩個plist文件進行配置