转自 http://blog.youkuaiyun.com/think12/article/details/7826327
往往一个软件的IOS越狱包需要很多渠道,以前我是修改一次渠道号,然后再重新打包,但随着越来越多的渠道号,让我望而生畏,只能找个自动的打包语句了。用shell语句很轻松的搞定此问题。
分析一下,多个渠道的越狱包的不同之处,就是有一个渠道号不一样,其他的代码都一样。而自动生成多渠道越狱包,也只是修改包中的一个渠道号。
思路:
a、先准备越狱包(例如TableTest.ipa)。
b、解压此越狱包,将生成payload文件夹。
c、修改channelID.txt文件中的渠道号。
d、压缩payload文件夹,生成TableTest_1003.ipa
1。前提是TableTest.ipa中的渠道号是单独写到一个文件中的,文件名称是channelID.txt,里面的格式是:
10001:
10002:
2。新建个ipatest文件夹,把TableTest.ipa和channelID.txt放到此文件夹中,然后在ipatest文件夹中创建个package文件夹,用于存放生成的包。
3。shell代码如下,打开终端,并且切换到ipatest文件夹下,拷贝下边代码即可,生成的越狱包将存放到package中。
- #!/bin/sh
- sourceipaname="/Users/dianxing/Desktop/shellTest/TableTest.ipa"
- appname="TableTest.app"
- distDir="/Users/dianxing/Desktop/shellTest/package/"
- version="2.5"
- unzip $sourceipaname
- for line in $(cat channelID.txt)
- do
- ipafilename=`echo $line|cut -f1 -d':'`
- echo "ipafilename=$ipafilename"
- targetName=`echo tabletest_${version}_${ipafilename}`
- echo "ipafilename =$ipafilename"
- cd Payload
- cd $appname
- echo "$ipafilename" > sourceid.txt
- cd ../..
- zip -r "${targetName}.ipa" Payload
- mv "${targetName}.ipa" $distDir
- done