1.
A.手動打Adhoc包
獲取以上文件,將 ExportOptions.plist 改為 AdHocExportOptions.plist
B.手動打Debug包
按以上流程,獲取ExportOptions.plist,將 ExportOptions.plist 改為 DeveloperExportOptions.plist
注意:
AdHocExportOptions.plist DeveloperExportOptions.plist 中,compileBitcode 需要修改為和Xcode里的bitcode一致
2.
創建archive.sh文件,把下面內容復制進去。
#--------------------------------------------------------------------------------------------------------------------- function changeDevelopmentEnvironment(){ echo "選擇發布環境" echo "1: Debug 打包" echo "2: Release 打包" read isDebug if [ $isDebug == 1 ]; then __BUILD_CONFIGURATION="Debug" elif [ $isDebug == 2 ]; then __BUILD_CONFIGURATION="Release" else echo "參數無效。。。" fi } #--------------------------------------------------------------------------------------------------------------------- #以下內容需要根據各自電腦和上傳平台賬號做替換 __MACPASS__="asdfghjkl;'" #蒲公英上傳 __API_KEY="**********************" __USER_KEY="**********************" #fir.im 上傳 需要安裝 fir-cli 終端工具 __FIR_Token="***********************" __line__="---------------------------------------" __SCHEME_NAME="******" # 獲取項目名稱 __PROJECT_NAME="******" #Release或者Debug,默認release ad-hoc #DeveloperExportOptions.plist AdHocExportOptions.plist __BUILD_CONFIGURATION="Debug" ExportOptionsPlistPath="DeveloperExportOptions.plist" # 編譯生成文件目錄 __EXPORT_PATH="iOSArchivePackage" # 歸檔文件路徑 __EXPORT_ARCHIVE_PATH="${__EXPORT_PATH}/${__SCHEME_NAME}.xcarchive" ALTOOLPATH="/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altool" __EXPORT_IPA_PATH="${__EXPORT_PATH}/output" #獲取鑰匙串和打包電腦密碼 security unlock-keychain -p ${__MACPASS__} $keychainPath echo "選擇上傳平台" echo "1:蒲公英" echo "2: fir.im" read parameter if [ $parameter == 1 ]; then __BUILD_CONFIGURATION="Debug" ExportOptionsPlistPath="DeveloperExportOptions.plist" changeDevelopmentEnvironment elif [ $parameter == 2 ]; then __BUILD_CONFIGURATION="Release" ExportOptionsPlistPath="AdHocExportOptions.plist" changeDevelopmentEnvironment else echo "參數無效...." fi echo "${__line__} "$parameter" ${__line__}" echo "${__line__} "$__BUILD_CONFIGURATION" ${__line__}" echo "${__line__} "$ExportOptionsPlistPath" ${__line__}" mkdir -p "${__EXPORT_IPA_PATH}" echo "${__line__} Clean ${__line__}" /usr/bin/xcodebuild clean -workspace ${__PROJECT_NAME}.xcworkspace \ -scheme ${__SCHEME_NAME} \ -configuration ${__BUILD_CONFIGURATION} echo "${__line__} 導出archive文件 ${__line__}" /usr/bin/xcodebuild archive -workspace ${__pwdPath}${__PROJECT_NAME}.xcworkspace -scheme ${__SCHEME_NAME} -configuration ${__BUILD_CONFIGURATION} -archivePath ${__EXPORT_ARCHIVE_PATH} echo "${__line__} 開始導出ipa文件 ${__line__}" /usr/bin/xcodebuild -exportArchive -archivePath ${__EXPORT_ARCHIVE_PATH} \ -exportPath ${__EXPORT_IPA_PATH} \ -destination generic/platform=ios \ -exportOptionsPlist ${ExportOptionsPlistPath} \ -allowProvisioningUpdates if [ $parameter == 1 ]; then echo "${__line__} 打包到蒲公英 ${__line__}" MSG=`git log -1 --pretty=%B` curl -F "file=@${__EXPORT_IPA_PATH}/${__PROJECT_NAME}.ipa" -F uKey=${__USER_KEY} -F _api_key=${__API_KEY} -F "updateDescription=${MSG}" -F installType="2" -F password="123456" https://upload.pgyer.com/apiv1/app/upload elif [ $parameter == 2 ]; then echo "${__line__} 打包到Fir.im ${__line__}" MSG=`git log -1 --pretty=%B` fir publish "${__EXPORT_IPA_PATH}/${__PROJECT_NAME}.ipa" -c "${MSG}" --password="123456" -Q -T "${__FIR_Token}" else echo "參數無效...." fi
配置項目名字
__SCHEME_NAME 后面配置xcode工程名字,如下面紅色箭頭所指內容
__PROJECT_NAME 后面配置xcode工程名字,如下面紅色箭頭所指內容
3.
以上文件需要做修改
配置蒲公英(登錄 https://www.pgyer.com/)
API Key 在登錄后點擊頭像,api信息中查看,配置到以上文件 __API_KEY= 星號的地方
User Key 在登錄后點擊頭像,api信息中查看,配置到以上文件 __USER_KEY= 星號的地方
注意腳本里設置了蒲公英打包后密碼為123456
4.
以上文件需要做修改
配置fir(登錄 https://www.jappstore.com/)
API token 在登錄后點擊頭像,API token中查看,配置到以上文件 __FIR_Token= 星號的地方
注意腳本里設置了fir打包后密碼為123456
fir.im 上傳 需要安裝 fir-cli 終端工具
官網 https://www.jappstore.com/ 右上角有個工具,點擊命令行客戶端,點擊跳轉到github https://github.com/FIRHQ/fir-cli/blob/master/README.md
終端安裝
ruby -v # > 2.6.1 sudo gem install fir-cli
終端登錄fir
fir login (接剛才獲得的API token)
5.
將以下文件放到工程目錄對應位置
6.
終端cd到工程目錄,終端執行以下命令,開始打包
sh archive.sh