聲明:本篇文章整理來自個(gè)人印象筆記 僅供參考 如有問題歡迎指正
摘要
隨著公司訂單https升級的越來越多,上傳appstore的ipa包也打的越來越多,這樣就浪費(fèi)了很長的時(shí)間在打上架包上,本文提供了一種比較智能的打包方式。
一、iOS程序包格式
iOS程序包分為appstore二進(jìn)制文件跟渠道包兩種格式
appstore二進(jìn)制文件:通過Xcode工具可以生成一個(gè).app格式的二進(jìn)制文件。
渠道包:格式為.ipa格式,在沒有自動化打包工具之前都是利用Xcode來生成相應(yīng)的渠道包,而且每次只能生成一個(gè)渠道包,每次打包之前都得手動該渠道ID,帶來的問題就是耗費(fèi)時(shí)間、效率低下、容易出錯、增加風(fēng)險(xiǎn)。
二、傳統(tǒng)的iOS打包方式
2.1 利用Xcode打包
appstore二進(jìn)制程序包
打開你的項(xiàng)目,進(jìn)入“Edit Project Settings”,進(jìn)入Configuration頁面,選中Release點(diǎn)擊下面的Duplicate,復(fù)制一個(gè)新的配置項(xiàng)出來,命名為Distribution。然后進(jìn)入Build頁面,頂上的Configuration下拉框選中Distribution,下面的Code Signing Identity里面的Any iPhone OS Device后面對應(yīng)的值選中你的那個(gè)Distribution的證書。然后點(diǎn)擊“Build”–>“Build”就可以編譯程序了
編譯成功后,你就可以在相應(yīng)的build目錄下看到一個(gè).app的二進(jìn)制文件。
2.2 渠道ipa包
根據(jù)以上步驟同樣配置好Distribution證書,然后點(diǎn)擊“Build”–> “Build and Archive”就可以編譯程序了。接著打開“Window”->”O(jiān)rganizer”左邊欄中選擇”ARCHIVED APPLICATIONS”然后再右側(cè)列表中選中剛才編譯的程序包再點(diǎn)擊右側(cè)右邊頂部的”Share”按鈕保存到磁盤即可。就會生成一個(gè).ipa的文件即為渠道包。
注意:以上運(yùn)行設(shè)備必須選擇“Deveice”
三、 利用Xcode提供了shell編譯工具xcodebuild和ipa打包工具xcrun打包
3.1:配置好Xcode中的打包的相關(guān)證書
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í)行后會在你的項(xiàng)目中生成一個(gè)build目錄,終端也會有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
打包成功后會在你的桌面上生成一個(gè)ipa包,這種打包方式有一定的局限性,只能針對沒有Cocopod管理的項(xiàng)目進(jìn)行打包。
四、有Cocopod管理打包方式
4.1 配置好Xcode中的打包的相關(guān)證書
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的絕對路徑。運(yùn)行成功后的結(jié)果如:示例_02

紅框內(nèi)即為需要的ipa包。
五、 利用第三方快速打包 shenzhen
終端
? $ gem install shenzhen
? $ cd 到你的項(xiàng)目中
? $ ?ipa build?
??這樣直接就生成ipa包,原理其實(shí)是自動調(diào)用了4中的兩個(gè)終端命令,代碼運(yùn)行后的效果如:示例_03

紅框內(nèi)即為你ipa存放目錄
其中ipa終端還有自動部署的功能,你可以終端
$ ipa help
