公司最近的项目是 app工厂,目的就是让不懂程序的人,直接可视化的拖动,然后上传必要的资料,就可以拥有一款自己的app。这不禁让我想起了,当年我读大学的时候,正好是中兴的企业老师,想我们展示的安卓批量工厂,那个时候觉得好高大上啊!原来不懂程序的人都可以制作一款自己的移动软件。但是!!: 凡是用户看起来简单的操作,对于技术来说,都是很头痛的。尤其是要考虑到每个模块之间的耦合性!好了,话不多说了。
对于ios来说,批量打包主要是利用了 xcodebuild 和 xcrun。
xcodebuild负责将工程源文件编译成xxx.app
xcrun负责给xxx.app(签名并)打包成xxx.ipa
1:在终端上进入项目工程的目录。(在xxx.xcodeproj所在的目录)
2:输入命令 /usr/bin/xcodebuild -target ”targetName“ clean ( targetName 就是项目的名称)
3: /usr/bin/xcodebuild -target targetName
4: /usr/bin/xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径
当然 xcodebuild 和xcrun还可以给app签名。
- xcodebuild -target targetName CODE_SIGN_IDENTITY="iPhone Distribution:XXXXXX"
- xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径 --sign "iPhone Distribution:XXXXXX"
#!/bin/sh
CONFIG_ROOT_PATH="/Users/macmini04/Desktop/工程路径/"
cd $CONFIG_ROOT_PATH
#循环数组
CHANNELID=("aaa" "bbb" "ccc")
CHANNEL_SECRET=("111" "222" "333")
for ((i=0;i<${#CHANNELID[@]};i++))
do
#删除
rm -rf "/Users/macmini04/Desktop/工程路径下(使用xcodebulid会在这个路径下生成一个build文件夹)/build/"
#清除
xcodebuild -target 生成app的文件名称 clean
echo ${CHANNELID[$i]}
echo ${CHANNEL_SECRET[$i]}
#修改plist
/usr/libexec/PlistBuddy -c "set :CHANNELID ${CHANNELID[$i]}" /Users/macmini04/Desktop/..工程路径/生成app的文件名称/AppConfig.plist
/usr/libexec/PlistBuddy -c "set :CHANNEL_SECRET ${CHANNEL_SECRET[$i]}" /Users/macmini04/Desktop/..工程路径/生成app的文件名称/AppConfig.plist
#打包
xcodebuild -target 生成app的文件名称 -configuration Distribution -sdk iphoneos build
#生成ipa
xcrun -sdk iphoneos PackageApplication -v "/Users/macmini04/Desktop/..工程路径/build/Release-iphoneos/XXX.app" -o "/Users/macmini04/Desktop/..工程路径/生成ipa的名称_${CHANNELID[$i]}.ipa"
done
服务器打包环境 的需要是Mac系统,装有xcode集成IDE