執行說明放在項目更目錄下執行
sh pkg.sh(文件名本身命名)
腳本代碼
#!/bin/bash
#自動化編譯打包腳本
#相關設置 1.PROJECT->Info->Configuations 點擊加號添加本身須要的環境名
# 2.PROJECT->Build Settings->Preprocessor Macros 設置對應環境的鍵值
#Config 表示服務器環境 Dubug:開發 Prm:預生產 Release:生產
# `pwd` 表示當前路徑
#Project_Name 根據工程的名字做修改
# 獲取當前目錄
currentDir=`pwd`
#用/分割路徑
OLD_IFS="$IFS"
IFS="/"
dirNames=($currentDir)
IFS="$OLD_IFS"
#獲取數組長度
length=${#dirNames[@]}
echo "分割結果:"${dirNames[@]}
projectName=${dirNames[$length-1]}
echo "項目名稱:"$projectName
scheme=$projectName
echo "ppp-"$scheme
#選擇環境
choose=0;
if [[ $1 == 'Debug' ]]; then
choose=1
fi
if [[ $1 == 'Qa' ]]; then
choose=1
fi
#獲取命令行參數
# $0 是指令文件
# $1 第一個參數
# $2 第二個參數,依此類推
echo '環境:'$1
if [[ $choose == 0 ]]; then
echo '注意選擇環境,用法以下:'
echo 'sh package.sh Debug|Qa'
echo ''
exit
fi
echo '開始打包。。。'
pkg_plist="pkg.plist"
if [ ! -d $pkg_plist ]
then
/usr/libexec/PlistBuddy -c "print" pkg.plist
/usr/libexec/PlistBuddy -c "Add :bundle-identifier string ${projectName}" $pkg_plist
/usr/libexec/PlistBuddy -c "Add :bundle-version string 1.0.0" $pkg_plist
/usr/libexec/PlistBuddy -c "Add :kind string software" $pkg_plist
/usr/libexec/PlistBuddy -c "Add :title string ${projectName}" $pkg_plist
fi
#編譯 若是是workspace把-project替換成-workspace便可參數改成$projectName.xcworkspace
config=$1 #項目模式Debug/Release等
archivePath= ./$projectName
xcodebuild archive \
-project $projectName.xcodeproj \
-archivePath $projectName \
-scheme $projectName \
-configuration $config
#打包
exportPath="./ipa/" #archive導出目錄(ipa包)
if [ ! -d $exportPath ]
then
mkdir $exportPath
fi
xcodebuild -exportArchive -archivePath ./$projectName.xcarchive \
-exportPath $exportPath \
-exportOptionsPlist ./$pkg_plist