一般項(xiàng)目到了測(cè)試階段,給內(nèi)部非iOS開發(fā)人員分發(fā)測(cè)試包就成了必不可少的工作。常用的打包方式是使用Xcode->Product->Archive,但是,真的很慢有木有(又可以趁機(jī)休息一波了)。下面開始介紹快速打包的方法,感興趣的可以了解一下。
ipa文件了解
使用pp助手下載微信ipa包,右鍵打開方式選擇歸檔使用工具打開之后如下圖

結(jié)構(gòu).png
由此發(fā)現(xiàn),其實(shí)ipa包就是一個(gè)zip包。在
Payload 里面的文件就是我們?cè)诠こ?code>Product里面看到的xx.app文件,每次編譯成功都會(huì)生成此文件。那反過來我們是不是新建一個(gè)Payload文件夾,把xx.app文件丟進(jìn)去,然后壓縮Payload呢?
使用指令生成ipa文件
1.使用Xcode快捷鍵command+B編譯項(xiàng)目(一定要選擇真機(jī))
2.編譯成功之后使用終端打開xx.app所在目錄
$ mkdir Payload
$ cp -rf xx.app Payload
$ zip -r xx.ipa Payload
此時(shí)就生成了我們的ipa文件,結(jié)果比使用Archive不要快太多。
使用Xcode生成打包命令
使用上面的方法確實(shí)快了不少,但是操作起來麻煩,雖然可以執(zhí)行以上命令寫到一個(gè)shell腳本里面去,但是其他項(xiàng)目也想打包的話又得改路徑。所以為了通用,我們可以借助xcode幫我們生成打包的指令。
1.打開項(xiàng)目設(shè)置頁面選擇Build Phases
2.點(diǎn)左上角+號(hào),選擇New Run Script Phase
3.新增以下指令
PRODUCTS_PATH="${BUILT_PRODUCTS_DIR}"
TARGET_APP_PATH="$PRODUCTS_PATH/${TARGET_NAME}.app"
cd ../
cd ../
rm -rf LatestBuild
mkdir -p LatestBuild
cd LatestBuild
touch package.command
chmod +x package.command
echo "#!/bin/bash" >> package.command
echo 'cd `dirname $0`;' >> package.command
echo "mkdir Payload;" >> package.command
echo "echo =============================打包中=============================;" >> package.command
echo "cp -rf $TARGET_APP_PATH Payload;" >> package.command
echo "zip -r -q ${TARGET_NAME}.ipa Payload;" >> package.command
echo "rm -rf Payload;" >> package.command
echo "echo =============================打包完成=============================;" >> package.command
echo "exit;" >> package.command
4.再次編譯項(xiàng)目會(huì)在當(dāng)前項(xiàng)目的上兩級(jí)目錄下生成一個(gè)LatestBuild文件夾。

生成的文件.png
5.打開
package.command,自動(dòng)執(zhí)行打包命令,打包成功后會(huì)在當(dāng)前文件夾下生成項(xiàng)目的ipa包。
打包成功.png