隨着ios平臺的發展以及發佈要求的多樣性,測試的需求,自動打包可必定程度上提升效率。html
自動打包的方式有以下幾種:ios
1、使用xcodebuild進行打包git
參考apple文檔:https://developer.apple.com/library/prerelease/mac/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.htmlgithub
xcodebuild -project "${TARGET}.xcodeproj" -target ${TARGET} CODE_SIGN_IDENTITY="${IDENTITY}" clean //將project clean下 xcodebuild -workspace MyWorkspace.xcworkspace -scheme MyScheme archive //進行archive,生成xcarchive文件
xcodebuild -exportArchive -exportFormat IPA -archivePath MyMobileApp.xcarchive -exportPath MyMobileApp.ipa -exportProvisioningProfile 'MyMobileApp Distribution Profile'
上述紅色背景的命令行,確實是能夠生成.ipa,可是可能會致使不能安裝,https://developer.apple.com/library/prerelease/mac/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.html , 連接是apple的官方文檔,文檔大概的意思將 xcarchive文件做爲.ipa方式進行導出, 爲何不能在ios設備上安裝?xcode
2、原生xcodebuild、xcrun進行打包,須要詳細瞭解,能夠看下這個連接 http://www.jianshu.com/p/1229476fbce4app
具體打包指令和第一種方法區別不大,不一樣代碼以下:iphone
xcodebuild -scheme Zxh -configuration ${buildConfiguration} clean //對代碼進行clean工具
xcodebuild -project Zxh.xcodeproj -scheme Zxh -configuration ${buildConfiguration} -destination generic/platform=ios archive -archivePath ${buildPath} //進行build,至關於在xcode裏面進行command+b,生成.app文件測試
#xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/Zxh.app -o ${ipaName}.ipa --sign "iPhone Distribution:(打包證書)" //根據.app文件生成的ipa文件導出到指定目錄優化
3、xctool進行自動打包
參考網頁地址:http://www.tuicool.com/articles/uIZRZjy
一、確保安裝了xctool
沒有安裝xctool,能夠用brew安裝,沒有安裝brew的,能夠經過搜索安裝brew,而後執行以下操做安裝xctool
安裝命令:sudo brew install xctool
介紹下xctool命令:
xctool 是FaceBook開源的一個命令行工具,用來替代蘋果的xcodebuild工具。
先附上打包用的參考代碼,以下:
#
cd AutoProject //進入項目目錄
#
buildDay=$(date +%Y%m%d) //獲取當前日期
buildTime=$(date +%Y%m%d%H%M) //獲取當前時間
profile=」xxxx」 //設置打包配置文件
#
buildConfiguration=」QA」 //build時用的證書
buildPath=」../ArchiveProduction/QA/${buildDay}/Auto_QA_${buildTime}.xcarchive」 //build後歸檔的文件目錄
ipaName=」../ipa/QA/${buildDay}/Auto_QA_${buildTime}.ipa」 //打好包放置位置
#
xctool -scheme AutoProject -configuration ${buildConfiguration} clean //clean下工程
xctool -scheme AutoProject -configuration ${buildConfiguration} archive -archivePath ${buildPath} //對項目進行Archive, 將xcarchive文件導出到指定目錄
xcodebuild -exportArchive -exportFormat IPA -archivePath ${buildPath} -exportPath ${ipaName} - exportProvisioningProfile 「$profile」 //生成的ipa文件導出到指定目錄, 此處依然使用的是xcodebuild進行打包, 待優化
以上代碼是從參考文件copy過來的,只是進行了相應的註釋, 具體進行打包,須要進行適當的調整命令