公司就我一個(gè)iOS開發(fā)眠屎,感覺平時(shí)打包上傳都挺浪費(fèi)時(shí)間冰蘑,也沒資源專門搞個(gè)CI掖桦。
so自己寫了個(gè)Shell腳本一鍵上傳測試包
#!/usr/bin/bash
# 工程名
PROJECT_NAME="工程名"
# scheme Name
SCHEME_NAME="scheme名稱"
# 證書
CODE_SIGN_DISTRIBUTION="iPhone Distribution: xxxx"
# info.plist路徑
INFO_PLIST_PATH="./${PROJECT_NAME}/Supporting Files/info.plist"
# 輸出ipa目錄
OUTPUT_IPA_DIR=~/Desktop/"${PROJECT_NAME}_IPA"
# 上傳ipa名稱
UPLOAD_IPA_NAME="${PROJECT_NAME}.ipa"
#創(chuàng)建輸出ipa文件夾
if [ ! -d "${OUTPUT_IPA_DIR}" ]; then
mkdir "${OUTPUT_IPA_DIR}"
fi
#取版本號(hào)
echo "${INFO_PLIST_PATH}"
bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${INFO_PLIST_PATH}")
#取build值
bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${INFO_PLIST_PATH}")
DATE="$(date +%Y%m%d)"
IPANAME="${PROJECT_NAME}_V${bundleShortVersion}_${DATE}.ipa"
# # //下面2行是沒有Cocopods的用法
# echo "=================clean================="
# xcodebuild -target "${PROJECT_NAME}" -configuration 'Release' clean
# echo "+++++++++++++++++build+++++++++++++++++"
# xcodebuild -target "${PROJECT_NAME}" -sdk iphoneos -configuration 'Release' CODE_SIGN_IDENTITY="${CODE_SIGN_DISTRIBUTION}" SYMROOT='$(PWD)'
# //下面2行是集成有Cocopods的用法
echo "=================clean================="
xcodebuild -workspace "${PROJECT_NAME}.xcworkspace" -scheme "${PROJECT_NAME}" -configuration 'Release' clean
echo "+++++++++++++++++build+++++++++++++++++"
xcodebuild -workspace "${PROJECT_NAME}.xcworkspace" -scheme "${SCHEME_NAME}" -sdk iphoneos -configuration 'Release' CODE_SIGN_IDENTITY="${CODE_SIGN_DISTRIBUTION}" SYMROOT='$(PWD)'
xcrun -sdk iphoneos PackageApplication "./Release-iphoneos/${SCHEME_NAME}.app" -o "${OUTPUT_IPA_DIR}/${IPANAME}"
#上傳測試
#服務(wù)器密碼
SER_PASSWORD="123456"
重命名
cp "${output_ipa_dir}/${IPANAME}" "${output_ipa_dir}/${UPLOAD_IPA_NAME}"
#上傳到自己服務(wù)器
expect -c "
spawn scp -P 18888 "${output_ipa_dir}/${UPLOAD_IPA_NAME}" ouer@10.8.11.11:/ouer/nginx/html/ad/packages/
expect {
\"*assword\" {set timeout 300; send \"${SER_PASSWORD}\r\";}
\"yes/no\" {send \"yes\r\"; exp_continue;}
}
expect eof"
#上傳到蒲公英
#蒲公英aipKey
APIKEY="15adaxxxxxxxxxxxxxxxxxxxxxxxxxx"
#蒲公英uKey
UKEY="745cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
echo "--------蒲公英${output_ipa_dir}/${UPLOAD_IPA_NAME}---------"
curl -F "file=@${output_ipa_dir}/${UPLOAD_IPA_NAME}" \
-F "uKey=${UKEY}" \
-F "_api_key=${APIKEY}" \
https://www.pgyer.com/apiv1/app/upload
echo "\n\n"