前言
一直以來打包對我來說都非常痛苦!尤其是當(dāng)項(xiàng)目上線前需要給測試提供測試包的時候!每打一次包浪費(fèi)不少時間!在之前公司接觸過自動打包,沒有做深入地研究,前段時間研究了一下。終于做出了一個較為滿意的自動打包工具!
現(xiàn)在只要配置當(dāng)前項(xiàng)目路徑
\ 項(xiàng)目名稱
\ 輸出IPA包路徑
\ 蒲公英_app_key
\ ?蒲公英uKey
,設(shè)置打包方式,輕輕的按一下Command + R,靜靜的等待一分鐘!你會發(fā)現(xiàn)IPA會出現(xiàn)在你設(shè)置好的路徑上!并且自動上傳到蒲公英!上傳完成后會發(fā)短信
和郵件
通知測試人員! 一切真是太美妙了!
打包工具下載地址
?相關(guān)功能
使用該打包工具,可實(shí)現(xiàn)自動打開發(fā)包!打好IPA之后自動上傳蒲公英,上傳完成后使用短信或者郵箱通知測試人員
使用方法
使用方法極其簡單 !!!
1.配置好項(xiàng)目路徑和蒲公英的Key,2.設(shè)置打包模式,3.comman+ R
1.找到
ProjectConfig.h
文件,將項(xiàng)目路徑
\項(xiàng)目名稱
\輸出IPA包路徑
\蒲公英_app_key
\?蒲公英uKey
添加到該文件
項(xiàng)目路徑/名稱/包路徑/蒲公英_app_key/蒲公英uKey.png
2.設(shè)置打包模式,支持Debug模式和Release
3. 按下command+R,靜等出包設(shè)置打包模式.png
注意事項(xiàng) !!!
1.確保項(xiàng)目路徑、名稱、輸出包路徑是正確的
2.確保項(xiàng)目面板Xcode面板BuildSettings設(shè)置已經(jīng)設(shè)置好證書,并且證書是可用的《目前不支持自動切換證書,需要手動設(shè)置,測試包下圖即可》
Xcode面板BuildSettings證書設(shè)置.png
3.目前只支持使用cocoPods管理的項(xiàng)目《后期有時間會做不使用cocoPods管理項(xiàng)目的打包》
Xcode自動化相關(guān)原理
用命令行可以操作打包!Xcode擁有command_line_tools工具,我們可以利用它來調(diào)用命令行!
打包操作:
1.cd到項(xiàng)目路徑
cd projectPath
2.清除工程
/usr/bin/xcodebuild -workspace ManMao.xcworkspace -scheme ManMao clean
3.編譯工程
/usr/bin/xcodebuild -workspace ManMao.xcworkspace -scheme ManMao -sdk iphoneos -configuration Debug build
4.輸出包
/usr/bin/xcrun -sdk iphoneos PackageApplication -v /Users/dym/Library/Developer/Xcode/DerivedData/ManMao-gpahzxeycipuigclqbrgtgkockpn/Build/Products/Debug-iphoneos/ManMao.app -o /Users/dym/Desktop/ManMao.ipa
5.上傳到蒲公英
curl -F "file=@/Users/dym/Desktop/ManMao.ipa" -F "uKey=111111be0a3cc41269c767e65c111111" -F "_api_key=111111b8c9addd49929274992c111111" http://www.pgyer.com/apiv1/app/upload
上傳IPA到蒲公英
IPA到蒲公英有三種方式,我們既然是自動化,自然選擇第三種方式。具體可參考蒲公英提供給我們的API:傳送門
1.通過蒲公英的網(wǎng)站上傳應(yīng)用
2.通過蒲公英桌面客戶端上傳應(yīng)用
3.通過蒲公英開放 API 上傳應(yīng)用
參數(shù):
/tmp/example.ipa :你的ipa路徑
_api_key 和 uKey 在蒲公英內(nèi)獲取
curl -F "file=@/tmp/example.ipa" -F "uKey=***c61d3be0a3cc41269c767e65c19c12f4***" -F "_api_key=***206c75b8c9addd49929274992c1ab37d***" http://www.pgyer.com/apiv1/app/upload
當(dāng)前的不足
?目前功力尚淺,不能實(shí)現(xiàn)自動切換證書和描述文件,只能手動更改, 有對這方面了解的朋友可以互相交流一下!
遇到的問題
問題1. CommandLineTools' is a command line tools instance
解決辦法:下載安裝CommandLineTools,打開命令行輸入xcode-select --install 按回車。
參考網(wǎng)址:http://blog.csdn.net/chenyufeng1991/article/details/47007979
問題2: xcode-select: error: tool 'xcodebuild' requires Xcode
解決辦法:原因是Xcode路徑錯誤,打開Finder,找到Xcode的包路徑,打開命令行 輸入,后面為Xcode路徑 xcode-select --switch /Applications/Xcode.app/Contents/Developer
參考網(wǎng)址:http://blog.csdn.net/jymn_chen/article/details/21613745
敲黑板 - 問題3:Xcode8之后的版本打包會發(fā)現(xiàn)一個錯誤
xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH```
解決辦法:原因是因?yàn)閄code沒有PackageApplication指令
需要先下載[PackageApplication](https://pan.baidu.com/s/1slDDSoX)放在下面的文件
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/```
打開終端執(zhí)行
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
chmod +x /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication```
參考網(wǎng)址:[iOS裝13-自動打包](http://www.tuicool.com/articles/M7NVfyA)
[打包工具下載地址](https://github.com/chuheridangwu/XBPackagingTool.git)
###參考網(wǎng)址
[iOS自動打包并發(fā)布腳本](http://liumh.com/2015/11/25/ios-auto-archive-ipa/#script-build)
[project.pbxproj,最熟悉的”陌生人”](http://www.olinone.com/?p=215)
[用命令行自動打包成.ipa文件-完全攻略](http://blog.csdn.net/pearlhuzhu/article/details/9357269)
[IOS行貨自動打包](http://www.cnblogs.com/yesun/p/3261839.html)
關(guān)于打包測試[build setting](https://developer.apple.com/library/content/featuredarticles/XcodeConcepts/Concept-Schemes.html#//apple_ref/doc/uid/TP40009328-CH8-SW1)