腳本文件"xxx.sh"使用"Sublime_Text"工具進行編輯。
在終端執行腳本時的命令:sh xxx.sh
腳本功能說明:在終端,使用xcodebuild進行自動打包,以及上傳到蒲公英。
20160816153553501.png
使用步驟:
- 目錄配置(打包上傳目錄、項目目錄)
- 項目配置(版本、名稱、證書、描述文件UUID、描述文件、archive保存目錄、ipa保存目錄)
- 刪除舊文件
- 清除舊項目
- 生成archive
- 生成ipa
- 上傳ipa到蒲公英(上傳路徑、userKey、apiKey)
注意:以下示例代碼可以正常使用,在使用前需要修改配置為你自己的信息。如打包上傳目錄upload_path,項目目錄target_path,項目名稱target_name,證書名稱codeSignIdentity,描述文件provisioning_profile,描述文件UUIDprovision_UUID,以及上傳到蒲公英時的文件地址file。
1 目錄(打包上傳目錄;項目目錄)
upload_path="/Users/zsy/Desktop/uploadIPA"
target_path="/Users/zsy/Desktop/iOSTest"
echo "upload_path打包路徑:$upload_path"
echo "target_path項目路徑:$target_path"
2 配置信息 Release版本
configuration="Release"
# 項目名稱
target_name="iOSTest"
project_name="${project_name}.xcodeproj"
workspace_name="${target_name}.xcworkspace"
scheme="$target_name"
echo "configuration配置:$configuration"
echo "target_name項目名稱:$target_name"
echo "workspace_name工作空間名稱:$workspace_name"
echo "scheme名稱:$scheme"
# archive包時使用證書、描述文件UUID;ipa包時使用描述文件(描述文件名稱)
codeSignIdentity="iPhone Developer: zsy Test (5DD779QQBQ)"
provision_UUID="06b7492h-083a-4313-c633-15de685929q4"
provisoning_profile="iOSTestDevelopProfile"
echo "codeSignIdentity開發證書:$codeSignIdentity"
echo "provision_UUID描述文件UUID:$provision_UUID"
echo "provisoning_profile描述文件:$provisoning_profile"
# 存儲目錄(不同電腦修改下用戶名"zsy"即可)
# project_dir=`pwd`
# echo "project_dir目錄:$project_dir"
# XCODE_PRJ="xcodeproj"
# FILE_EXTENSION='xcworkspace'
# PROJECT_DIR=`pwd`
# CD_XCODE_PRJ=`pwd`/$PROJECT_NAME.$XCODE_PRJ
# PROJECT_WORKSPACE=$PROJECT_DIR.
# PROJECT_BUILD=`pwd`/$PROJECT_NAME/BUILD
# 進入項目目錄時
# ipa_path="archive/${target_name}.ipa"
# archive_path="archive/${target_name}.xcarchive"
# log_path="./archive/log.txt"
# 指定目錄時
cd "$upload_path"
ipa_path="$upload_path/${target_name}.ipa"
archive_path="$upload_path/${target_name}.xcarchive"
log_path="$upload_path/log.txt"
pwd
echo "ipa_path導出路徑:$ipa_path"
echo "archive_path生成路徑:$archive_path"
echo "log_path打印路徑:$log_path"
3 刪除舊文件
rm -rf "$log_path"
rm -rf "$archive_path"
rm -rf "$ipa_path"
cd "$target_path"
pwd
4 清理構建目錄
# xcodebuild clean -configuration "$configuration" -alltargets
xcodebuild clean -configuration "$configuration" -alltargets >> $log_path
5 歸檔(其他參數不指定的話,默認用的是.xcworkspace或.xcodeproj文件里的配置)
xcodebuild archive -workspace "$workspace_name" -scheme "$scheme" -configuration "$configuration" -archivePath "$archive_path" CODE_SIGN_IDENTITY="$codeSignIdentity" PROVISIONING_PROFILE="$provision_UUID" >> $log_path
6 導出IPA
xcodebuild -exportArchive -exportFormat IPA -archivePath "$archive_path" -exportPath "$ipa_path" -exportProvisioningProfile "$provisoning_profile" >> $log_path
7 上傳IPA到蒲公英
curl -F "file=@/Users/zsy/Desktop/uploadIPA/iOSTest.ipa" \
-F "uKey=a512b58c56285d23456e011fgh706509" \
-F "_api_key=ab9c240d2efg9hi17j9642k3l5mnop5q" \
https://www.pgyer.com/apiv1/app/upload
20160810210023636.png
20160810210036683.png
20160810210049479.png