IOS批量打包工具
来源:互联网 发布:yum wget 编辑:程序博客网 时间:2024/05/29 18:42
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 linein $(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批量打包工具
- ant批量打包工具使用说明
- android apk批量打包工具
- android批量打包工具图形界面
- iOS 批量打包脚本 转
- ios自动打包(适用于批量打包)
- iOS 打包工具生成
- iOS 本地打包工具
- iOS自动化打包工具
- Ant批量打包工具的使用
- android批量打包工具-python实现
- Android批量打包(Eclipse开发工具)
- windows下ant批量打包工具
- 使用脚本工具批量打包游戏资源
- iOS批量自动打包和部署(Ⅲ)
- iOS批量自动打包和部署(Ⅱ)
- iOS批量自动打包和部署(I)
- iOS 本地自动打包工具
- 学习opencv——乱释放内存的Bug,IplImage
- php将UTc时间转换为北京时间
- C++的头文件和实现文件分别写什么
- 一些影响情绪的激素
- select count(*)和select count(1)的区别
- IOS批量打包工具
- Path Sum
- UVA10917 路径统计
- 数据挖掘实验(SAS)聚类
- LeetCode 011. Container With Most Water
- SoapObject result=(SoapObject)envelope.getResponse(); 这个有时候会出现转换异常。
- IOS系列—— UINavigationController隐藏后手势返回不可用
- 黑马程序员——一个古老的悖论
- c++中的虚函数