聲明:本篇文章整理來(lái)自個(gè)人印象筆記 僅供參考 如有問(wèn)題歡迎指正
摘要
隨著公司訂單https升級(jí)的越來(lái)越多觉既,上傳appstore的ipa包也打的越來(lái)越多干跛,這樣就浪費(fèi)了很長(zhǎng)的時(shí)間在打上架包上撑帖,本文提供了一種比較智能的打包方式豌拙。
一驻呐、iOS程序包格式
iOS程序包分為appstore二進(jìn)制文件跟渠道包兩種格式
appstore二進(jìn)制文件:通過(guò)Xcode工具可以生成一個(gè).app格式的二進(jìn)制文件毁渗。
渠道包:格式為.ipa格式践磅,在沒(méi)有自動(dòng)化打包工具之前都是利用Xcode來(lái)生成相應(yīng)的渠道包,而且每次只能生成一個(gè)渠道包灸异,每次打包之前都得手動(dòng)該渠道ID府适,帶來(lái)的問(wèn)題就是耗費(fèi)時(shí)間、效率低下肺樟、容易出錯(cuò)檐春、增加風(fēng)險(xiǎn)。
二儡嘶、傳統(tǒng)的iOS打包方式
2.1 利用Xcode打包
appstore二進(jìn)制程序包
打開(kāi)你的項(xiàng)目喇聊,進(jìn)入“Edit Project Settings”,進(jìn)入Configuration頁(yè)面蹦狂,選中Release點(diǎn)擊下面的Duplicate誓篱,復(fù)制一個(gè)新的配置項(xiàng)出來(lái)朋贬,命名為Distribution。然后進(jìn)入Build頁(yè)面窜骄,頂上的Configuration下拉框選中Distribution锦募,下面的Code Signing Identity里面的Any iPhone OS Device后面對(duì)應(yīng)的值選中你的那個(gè)Distribution的證書(shū)。然后點(diǎn)擊“Build”–>“Build”就可以編譯程序了
編譯成功后邻遏,你就可以在相應(yīng)的build目錄下看到一個(gè).app的二進(jìn)制文件糠亩。
2.2 渠道ipa包
根據(jù)以上步驟同樣配置好Distribution證書(shū),然后點(diǎn)擊“Build”–> “Build and Archive”就可以編譯程序了准验。接著打開(kāi)“Window”->”O(jiān)rganizer”左邊欄中選擇”ARCHIVED APPLICATIONS”然后再右側(cè)列表中選中剛才編譯的程序包再點(diǎn)擊右側(cè)右邊頂部的”Share”按鈕保存到磁盤(pán)即可赎线。就會(huì)生成一個(gè).ipa的文件即為渠道包。
注意:以上運(yùn)行設(shè)備必須選擇“Deveice”
三糊饱、 利用Xcode提供了shell編譯工具xcodebuild和ipa打包工具xcrun打包
3.1:配置好Xcode中的打包的相關(guān)證書(shū)
3.2:終端命令:cd+你的項(xiàng)目目錄
例如:cd/Users/tsou/Desktop/DemoTest
3.3 終端運(yùn)行下面的命令DemoTest給為你的項(xiàng)目名稱
$? xcodebuild -project DemoTest.xcodeproj-target DemoTest -configuration Release
這段終端命令執(zhí)行后會(huì)在你的項(xiàng)目中生成一個(gè)build目錄垂寥,終端也會(huì)有SUCCESS提醒。
??3.4? DemoTest替換為你的項(xiàng)目名稱? ? ~/Desktop/gjpgsc.ipa你的項(xiàng)目ipa存放路徑
$? xcrun -sdk iphoneos -v PackageApplication./build/Release-iphoneos/ DemoTest.app -o ~/Desktop/ DemoTest.ipa
打包成功后會(huì)在你的桌面上生成一個(gè)ipa包另锋,這種打包方式有一定的局限性滞项,只能針對(duì)沒(méi)有Cocopod管理的項(xiàng)目進(jìn)行打包。
四夭坪、有Cocopod管理打包方式
4.1 配置好Xcode中的打包的相關(guān)證書(shū)
4.2 終端命令:cd +你的項(xiàng)目目錄
4.3 終端運(yùn)行下面的命令LSDevModel3給為你的項(xiàng)目名稱
$ xcodebuild -workspace??/Users/tsou/Desktop/xx/xx項(xiàng)目/xx/LSDevModel3/LSDevModel3.xcworkspace -scheme LSDevModel3
運(yùn)行成功的結(jié)果如:示例_01
其中的紅色框中的是你的.app存放路徑
4.4 終端導(dǎo)出ipa包
$ xcrun -sdk iphoneosPackageApplication -v? /Users/tsou/Library/Developer/Xcode/DerivedData/LSDevModel3-atkhbbokvohqghcgzgijmbigafev/Build/Products/Release-iphoneos/LSDevModel3.app
紅色為你的.app的絕對(duì)路徑文判。運(yùn)行成功后的結(jié)果如:示例_02
紅框內(nèi)即為需要的ipa包。
五室梅、 利用第三方快速打包 shenzhen
終端
? $ gem install shenzhen
? $ cd 到你的項(xiàng)目中
? $ ?ipa build?
??這樣直接就生成ipa包戏仓,原理其實(shí)是自動(dòng)調(diào)用了4中的兩個(gè)終端命令,代碼運(yùn)行后的效果如:示例_03
紅框內(nèi)即為你ipa存放目錄
其中ipa終端還有自動(dòng)部署的功能亡鼠,你可以終端
$ ipa help