IOS批量打包工具

1,解决问题:公司业务需求,因为合作的App市场比较多,推广IOS App时需要针对不同的市场提供不容的包(.ipa),用渠道号来区别,为了提高效率和减少手工一个个修改渠道打包引入的bug,所以考虑引进自动化打包


2,自动化打包工具介绍:使用shell脚本,运行在Mac上,用终端运行即可。

思路:
a、先准备越狱包(例如test.ipa)。
b、解压此越狱包,将生成Payload文件夹。
c、修改channel.txt文件中的渠道号,这个脚本是要求在你的项目目录下有一个存放渠道的文本文件。
d、压缩Payload文件夹,生成${channle}.ipa


3,配置自动化打包步骤:

下载工具包:http://download.csdn.net/detail/guitk/8345061

解释:

      1,先用xcode生成一个.ipa的母包,这里命名test.ipa;

      2,在桌面新建目录test_jail(这个打包目录是放在桌面上,可以根据情况更改目录);

3,把test.ipa放到test_jail目录下,同时在该目录下新建文件channelList.txt,该文件是存放你要分发包的所有渠 道,每行只放一个渠道;

4,test_jail目录下创建一个目录package,用来存放批量生成的渠道包;

5,test_jail目录创建一个文件batch.sh,用来存放打包脚本

6,执行脚本:在终端cd到test_jail目录, 直接 sh batch.sh ,脚本开始运行,等到来年秋天,你就可以在package目录下丰收一堆ipa了。

脚本解释:

#!/bin/sh

#/xing是你的电脑用户目录

sourceipaname="/Users/xing/Desktop/test_jail/test.ipa"

#你的项目在xcode左侧现实的项目名

appname="testapp.app"

#批量生成的包存放的目录

distDir="/Users/xing/Desktop/test_jail/package/"

version="2.5"

#解压母包

unzip $sourceipaname

#循环渠道列表

for line in $(cat channelList.txt)

do

ipafilename=`echo $line|cut -f1 -d':'`

echo "ipafilename=$ipafilename"

#targetName=`echo tabletest_${version}_${ipafilename}`

targetName=`echo ${ipafilename}`

echo "ipafilename =$ipafilename"

cd Payload

cd $appname

#channel.txt是你项目中存放渠道的一个文件,这也就是我们费劲心机要修改的东东

echo "$ipafilename" > channel.txt

cd ../..

#压缩

zip -r "${targetName}.ipa" Payload

mv "${targetName}.ipa" $distDir

rm

done

#清理现场

rm -rf Payload

echo 删除打包痕迹

echo 全部完成



你可能感兴趣的:(IOS批量打包工具)