新年送大家一个好东西,放上一个自动打包各种渠道的shell

转载:http://www.cocoachina.com/bbs/read.php?tid=91357


如题,现在的商业项目,特别是要在国内推广的,难免要和一些渠道商合作,这就需要我们攻城师为指定的渠道打特定的包。
以前我都是手动改build configureation。生成不同的包。
后来觉得麻烦 ,在网上学习了一下,弄了这个东西,大家看看,拿去修改修改就能用了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/sh
 
#  build.Script.sh
#  xxxx
#
#  Created by michael on 12-1-16.
#  Copyright (c) 2012年 xxxx. All rights reserved.
 
 
distDir="/Users/michael/Desktop/dist"
releaseDir="./build/"
version="1_5_0"                                                 #发布的版本号
rm -rdf "$distDir"
mkdir "$distDir"
rm -rdf "$releaseDir"
for line in $(cat channel)                                  #读取所有渠道号channel文件 如:  appstore:10001 {渠道名:渠道号}
do
ipafilename=`echo $line|cut -f1 -d':'`                 #渠道名
sourceid=`echo $line|cut -f2 -d':'`                      #渠道号
xcodebuild clean -configuration "Distribution_${ipafilename}"      #clean项目
echo "ipafilename=$ipafilename"
echo "sourceid=$sourceid"
targetName="xxxx"                                       #项目名称(xcode左边列表中显示的项目名称)
 
 
ipapath="${distDir}/${targetName}_${version}_for_${sourceid}.ipa"
 
echo "***开始build app文件***"
xcodebuild -project xxxx.xcodeproj -target "$targetName" -configuration "Distribution_${ipafilename}"  -sdk iphoneos5.0 build
appfile="${releaseDir}Distribution_${ipafilename}-iphoneos/${targetName}.app"
cd ${releaseDir}Distribution_${ipafilename}-iphoneos/
zip -r "${targetName}_${ipafilename}_${version}.zip" "${targetName}.app"
cd ..
cd ..
echo "***开始打ipa渠道包****"
/usr/bin/xcrun -sdk iphoneos5.0 PackageApplication -v "$appfile" -o "$ipapath" --sign "iPhone Distribution: xxxxx company"
done

原文地址:https://www.cnblogs.com/xingchen/p/2331917.html