這篇文章(http://www.lxweimin.com/p/3d8f26759606)中講了用Xcode來構建的方式,然后使用腳本上傳到蒲公英,這種方式比較不靈活,使用腳本的方式構建+上傳比較方便配置一個新的任務
當前,構建方式主要包括兩種:
1.源碼 -> .archive文件 -> .ipa文件
2.源碼 -> .app文件 -> .ipa文件
這兩種方式的主要差異是生成的中間產物不同,對應的,兩種構建方式采用的命令也不同。
這里使用的是第一種方式
#!/bin/bash -l
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
echo "=================pod install================="
pod install --verbose --no-repo-update
#配置環(huán)境,Release或者Debug,默認release
Configuration="Release"
# 工程名
APP_NAME="xxxxxxx"
# 證書,這里使用生產證書與上面打包環(huán)境進行對應
CODE_SIGN_DISTRIBUTION="iPhone Distribution: xxxxx (xxxxxx)"
# info.plist路徑
project_infoplist_path="./${APP_NAME}/xxxxxr/Info.plist"
#輸出屬性列表
ExportOptionPlist="./${APP_NAME}/xxxx/ExportOptions.plist"
# workspace路徑
workSpacePath="$WORKSPACE/bhbl-master/${APP_NAME}.xcworkspace"
# 取版本號
bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${project_infoplist_path}")
# 取build值
bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${project_infoplist_path}")
DATE="$(date +%Y%m%d)"
# 要上傳的ipa文件路徑,這個文件路徑需要確定,打包輸出的時候,輸出到這個指定位置,以后從這個位置上傳.ipa文件
IPA_PATH="$WORKSPACE/build/${APP_NAME}_V${bundleShortVersion}_${DATE}"
# 打印指定的文件位置
echo ${IPA_PATH}
echo ${WORKSPACE}
echo ${workSpacePath}
echo "=================clean================="
xcodebuild -workspace "${workSpacePath}" -scheme "${APP_NAME}" -configuration $Configuration clean
echo "=================build================="
xcodebuild -workspace "${workSpacePath}" -scheme "${APP_NAME}" -sdk iphoneos -configuration $Configuration CODE_SIGN_IDENTITY="${CODE_SIGN_DISTRIBUTION}" SYMROOT='$(PWD)'
echo "=================生成 .xcarchive================="
xcodebuild archive -workspace "${workSpacePath}" -scheme ${APP_NAME} -configuration $Configuration -archivePath "${WORKSPACE}/build/${APP_NAME}${DATE}.xcarchive"
echo "=================導出.ipa================="
xcodebuild -exportArchive -archivePath "${WORKSPACE}/build/${APP_NAME}${DATE}.xcarchive" -exportPath "${IPA_PATH}" -exportOptionsPlist ${ExportOptionPlist}
echo "=================upload .ipa tp Pgyer================="
# 上傳到蒲公英的話,需要到蒲公英官網(wǎng)獲取對應的User Key 和 API Key
#蒲公英上的User Key
uKey="8c7965bxxxxxx3a8cffxxxxxef1eff3f41"
#蒲公英上的API Key
apiKey="a73a3e84cxxxxx57a8cxxxx9fd00"
#執(zhí)行上傳至蒲公英的命令
echo "${IPA_PATH}/${APP_NAME}.ipa"
curl -F "file=@${IPA_PATH}/${APP_NAME}.ipa" -F "uKey=${uKey}" -F "_api_key=${apiKey}" http://www.pgyer.com/apiv1/app/upload
這里面有個文件叫做ExportOptions.plist 這個是需要自己創(chuàng)建的,你可以在工程里面Info.plist文件同級目錄下創(chuàng)建,xcodebuild打ipa包的配置文件,我這里這個配置是用來打ad-hoc包的配置
6AD11BD6-7A5C-4DE2-9CC3-5EF41A81268F.png
要注意的是那些 路徑的要寫對
project_infoplist_path
輸出屬性列表
ExportOptionPlist
workspace路徑
workSpacePath