iOS 打包 ipa 的四種實用方法(.app轉.ipa)

總結一下,目前.app包轉爲.ipa包的方法有如下幾種:html

一、Apple推薦的方式,即實用xcode的archive功能java

Xcode菜單欄->Product->Archive->三選一,通常選後兩個。linux

侷限性:我的開發通常採用這種方法,可是當一個證書多人使用時就稍顯麻煩。通常多人開發時都是採用provisioning profile+P12文件來進行真機調試。上述方法在最後導出ipa包時須要輸入appleID,這時還要向團隊的其餘人要。採用provisioning profile+P12真機調試的方式不要求開發者知道appleID以及密碼,密碼通常放在leader那裏;web

 

二、iTunes拖入(推薦)vim

這種方法十分方便。具體步驟請看動態圖:xcode

注意:itunes裏的「個人應用程序」是指電腦上的程序,不要求聯機,能夠把裏面的app刪除app

 

三、自動編譯腳本iphone

編寫一個全自動編譯腳本,從而不用打開XCODE編譯運行便可實現打包,這種方法也十分快捷。有興趣的能夠看這篇文章ui

缺點:不出錯還好,一旦有語法錯誤或者其餘錯誤出現就很差處理spa

 操做:

         1)所需語句(可直接在命令行中執行)

                xcodebuild -configuration Release       

               進入所在工程的根目錄文件,執行上面的語句,便可開始自動使用release模式build該工程文件。

               注意:文件必須添加證書。

mkdir -p ipa/Payload
cp -r ./Release-iphoneos/PRODUCT_NAME.app  ./ipa/Payload
cd ipa
zip -r $FILE_NAME *

          進入生成的app文件所在的文件夾,執行上面的語句,可將app文件打包爲ipa文件。

                注意:app文件可直接導入iTunes後直接運行,可是沒有icon,只需將icon放入./ipa文件夾一塊兒打包便可。

                app文件默認生成路徑(可修改):

                Xcode3:所在工程根目錄/build/Debug-iphoneos/PRODUCT _NAME

                Xcode4及之後./user/<current User>/Library/Developer/XCode/DerivedData/<Project name>-<other character>/Build/Products 下有:Debug-iphoneos Release-iphoneos以及Debug-iphonesimulator

 

                icon要求:

                  不大於500*500

                  格式爲jpg

                  命名爲iTunesArtwork

                  不能有後綴

        2)腳本的寫法(mac/linux

               腳本格式

#!/bin/sh
mkdir -p ipa/Payload
cp -r ./Release-iphoneos/PRODUCT_NAME.app  ./ipa/Payload
cd ipa
zip -r $FILE_NAME *
exit 0

           腳本建立方法

           打開終端

                    vim FILE_NAME.sh

          按 「i」 進入編輯模式,輸入腳本內容,按「ESC」 退出編輯模式,按「ZZ」(大寫)保存並退出。

 

關於權限

使用ls -l能夠查看當前目錄下文件及文件夾的權限。

這裏將權限改成777便可chmod 777 FILE_NAME  

而後重命名爲.ipa

          mv xx.zip xx.ipa

 

四、解壓修改後綴名(本文推薦)

這種方式是在xcode編譯產生出.app包的基礎上進行進一步處理,經過簡單的壓縮以及修改後綴名便可實現ipa發包。

這種方式下又可經過腳本自動處理以及手動處理兩種途徑實現,推薦腳本方法,一勞永逸。

4.1 腳本自動生成ipa包

Step1: 新建文件夾,命名爲"distribute",新建 distribute.sh 腳本文件,內容爲:(注意,腳本中全部appName請先替換成你的真正app名稱)

複製代碼
rm -rf appName
mkdir appName
mkdir appName/Payload
cp -r appName.app appName/Payload/appName.app
cp Icon.png appName/iTunesArtwork
cd appName
zip -r appName.ipa Payload iTunesArtwork

exit 0
複製代碼

  

Step2: 將要轉化的.app文件放到distribute/文件夾下

這時的文件夾目錄結構是這樣的:(注意,腳本中全部appName請先替換成你的真正app名稱)

distribute/distribute.sh
distribute/appName.app

 

Step3: 運行distribute.sh腳本

打開Terminal,cd到distribute文件夾下,把distribute.sh拉到 terminal 中執行。若是提示 permission denied,則用 "chmod 777 distribute.sh" 命令賦予權限後,再執行一次distribute.sh。

 

Step4: 大約若干秒後,會在distribute/文件夾下生成appName/文件夾,裏面的appName.ipa就是咱們想要的包。

 

4.2 手動壓縮改後綴方式

這種方式與4.1的方法本質是同樣的。

Step1: 新建 "Payload" 文件夾,注意名字要一字不差;

Step2: 將你的 .app 包放到 Payload 中,注意 app 的名字不作任何更改,就用 xcode 生成的 app 名稱;

Step3: 在Payload文件夾上右鍵壓縮成zip,而後將生成的 .zip 文件後綴改爲 .ipa 便可

相關文章
相關標籤/搜索