Skip to content

Instantly share code, notes, and snippets.

@xiocode
Created December 25, 2014 10:55
Show Gist options
  • Save xiocode/c3de188d76303dff43f3 to your computer and use it in GitHub Desktop.
Save xiocode/c3de188d76303dff43f3 to your computer and use it in GitHub Desktop.
#!/bin/bash
#--------------------------------------------
# 功能:多渠道打包
# 作者:xielei
#--------------------------------------------
# ipa-build Weico.ipa Weico.app
sourceipaname=$1 #定义变量ipa名称
appname=$2 #加压后Pauload目录项.app文件名需要根据自己的项目修改
foldername=$3
distDir="/Users/weico/Developer/dailybuilds/${foldername}" #打包后文件存储目录
version="0.0.0" #定义变量版本号
rm -rdf "$distDir" #删除文件夹"/Users/lxxx/Qa"
mkdir "$distDir" #创建ipa目标文件夹 "/users/xxxx/makeipa/"
cd "/Users/weico/Developer/dailybuilds/" #进入到cat data.dat目录
unzip $sourceipaname #并解压母包(ipa)文件 ipa文件与data.dat 文件目录一致 不一致需要重新更改目录
for line in $(cat data.dat) #读取渠道号文件并进行循环 ;这个data.dat文件内容格式应该是ipaname:sourceid
do
ipafilename=`echo $line|cut -f1 -d':'` #截取ipa文件名,看cut的帮助文档,以':'为分隔符取第一个字段
sourceid=`echo $line|cut -f2 -d':'` #截取sourceid,看cut的帮助文档,以':'为分隔符取第二个字段
echo "ipafilename=$ipafilename" #打印出来
echo "sourceid=$sourceid" #打印出来
targetName="weico"
echo "sourceid=$sourceid" #打印出来
echo "ipafilename=$ipafilename" #打印出来
cd Payload #进入到Payload目录
cd $appname #进入到"app文件名.app"目录
echo "replace sourceid.dat before: " #打印replace sourceid.dat before:
cat sourceid.dat #打印sourceid.dat现有的内容
echo "$sourceid" > sourceid.dat #将新的 sourceid输出到sourceid.dat文件中,shell的重定位。
echo "replace sourceid.dat after: " # 打印replace sourceid.dat after:
cat sourceid.dat #打印修改的后的sourceid.dat文件
if [ $sourceid == "appstroe" ] #if语句,如果sourceid变量值为"appstroe"
then
cd .. #返回到上级目录
zip -r "${targetName}_${version}_from_${sourceid}.zip" $appname #打包文件(zip包),参见zip的帮助文档;appstore二进制文件
mv "${targetName}_${version}_from_${sourceid}.zip" $distDir #将打包好的zip文件移动到前面新建的发布目录/Users/lxxx/Qa
cd .. #返回到上级目录
else
#如果ourceid变量不等于"appstroe",进入该分支
cd ../.. #向上返回2及目录
zip -r "${targetName}_${version}_from_${sourceid}.ipa" Payload #将PayLoad目录/文件 打成其他渠道的包ipa包
mv "${targetName}_${version}_from_${sourceid}.ipa" $distDir #将打包好的ipa文件移动到前面新建的发布目录/Users/lxxx/Qa
fi
done
rm -rdf Payload #删除PayLoad目录/文件
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment