一般项目到了测试阶段,给内部非iOS开发人员分发测试包就成了必不可少的工作。常用的打包方式是使用Xcode->Product->Archive
,但是,真的很慢有木有(又可以趁机休息一波了)。下面开始介绍快速打包的方法,感兴趣的可以了解一下。
ipa文件了解
使用pp助手下载微信ipa包,右键打开方式选择归档使用工具打开之后如下图
由此发现,其实ipa包就是一个zip包。在
Payload
里面的文件就是我们在工程Product
里面看到的xx.app
文件,每次编译成功都会生成此文件。那反过来我们是不是新建一个Payload
文件夹,把xx.app
文件丢进去,然后压缩Payload呢?
使用指令生成ipa文件
1.使用Xcode快捷键command+B
编译项目(一定要选择真机)
2.编译成功之后使用终端打开xx.app
所在目录
$ mkdir Payload
$ cp -rf xx.app Payload
$ zip -r xx.ipa Payload
此时就生成了我们的ipa文件,结果比使用Archive
不要快太多。
使用Xcode生成打包命令
使用上面的方法确实快了不少,但是操作起来麻烦,虽然可以执行以上命令写到一个shell脚本里面去,但是其他项目也想打包的话又得改路径。所以为了通用,我们可以借助xcode帮我们生成打包的指令。
1.打开项目设置页面选择Build Phases
2.点左上角+
号,选择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.再次编译项目会在当前项目的上两级目录下生成一个LatestBuild
文件夹。
5.打开
package.command
,自动执行打包命令,打包成功后会在当前文件夹下生成项目的ipa包。打包成功.png
网友评论