Mac OS X Shell 学习自动化打包ipa
2017-09-20 本文已影响54人
十一岁的加重
感谢:http://www.cnblogs.com/ficow/p/6823962.html
我的实践
一、在workspace目录下创建脚本文件和plist文件
二、脚本 内容我只改了项目名称和schem名称,当然其他比如bulid路径,ipa路径名字,你都可以自行修改
#! /bin/bash
# created by Ficow Shen
#工程绝对路径
project_path=$(pwd)
#工程名
project_name="你的工程名"
#打包模式 Debug/Release
development_mode=Debug
#scheme名
scheme_name="scheme名"
#build文件夹路径
build_path=${project_path}/build
#plist文件所在路径
exportOptionsPlistPath=${project_path}/exportOptions.plist
#导出.ipa文件所在路径
exportFilePath=${project_path}/ipa/${development_mode}
echo '*** 正在 清理工程 ***'
xcodebuild \
clean -configuration ${development_mode} -quiet || exit
echo '*** 清理完成 ***'
echo '*** 正在 编译工程 For '${development_mode}
xcodebuild \
archive -workspace ${project_path}/${project_name}.xcworkspace \
-scheme ${scheme_name} \
-configuration ${development_mode} \
-archivePath ${build_path}/${project_name}.xcarchive -quiet || exit
echo '*** 编译完成 ***'
echo '*** 正在 打包 ***'
xcodebuild -exportArchive -archivePath ${build_path}/${project_name}.xcarchive \
-configuration ${development_mode} \
-exportPath ${exportFilePath} \
-exportOptionsPlist ${exportOptionsPlistPath} \
-quiet || exit
if [ -e $exportFilePath/$scheme_name.ipa ]; then
echo "*** .ipa文件已导出 ***"
open $exportFilePath
else
echo "*** 创建.ipa文件失败 ***"
fi
echo '*** 打包完成 ***'
三、配置plist文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>uploadBitcode</key>
<string>NO</string>
<key>uploadSymbols</key>
<string>NO</string>
<key>teamID</key>
<string>S6ZP88XTH7</string>
<key>method</key>
<string>development</string>
</dict>
</plist>
image.png
至此,可以快乐自动打包了
可能遇到 的问题
在执行./outputIpa.sh
时没有提示,这个得使用chmod
命令
http://www.linuxyw.com/linux/wenjianguanli/20130429/148.html
简单粗暴,chmod 777 outputIpa.sh
即可,咱也不用考虑什么后台什么服务器,给个最高权限即可。
打包后生成的文件夹,忽略问题,.gitignore
文件忽略对应的文件夹即可,改名也得同步这个名字
#ignore auto output ipa folder
build/
ipa/