如何使用Xcode進(jìn)行快速打包

一般項(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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文始發(fā)于我的博文詳解Shell腳本實(shí)現(xiàn)iOS自動(dòng)化編譯打包提交,現(xiàn)轉(zhuǎn)發(fā)至此。 目錄 前言 Shell腳本涉及的工...
    zackzheng閱讀 44,774評(píng)論 95 173
  • “外面的雷聲再響,雨點(diǎn)再大,也淋不濕你,我一直都在,不要怕?!毕掠晏炜偰芗ぐl(fā)我內(nèi)心深處的恐懼,也只有下雨天可以讓...
    26c1843eca30閱讀 362評(píng)論 0 3
  • 一. 什么是DrawerLayout(抽屜式導(dǎo)航欄) 抽屜式導(dǎo)航欄是一個(gè)面板,它將應(yīng)用的主要導(dǎo)航選項(xiàng)顯示在屏幕左邊...
    NickelFox閱讀 1,931評(píng)論 0 6

友情鏈接更多精彩內(nèi)容