1.安装fastlane工具
fastlaneGithub地址
安装fastlane就一句终端指令:
sudo gem install fastlane
但是,如果gem源有问题的话是安装不上的。在此处停留了N久
ERROR:While executing gem ... (OpenSSL::SSL::SSLError)hostname "upyun.gems.r
老是提示我没权限,所以我就去了ruby-china Github
把原本gem的ruby源更换成了这个
http://sh0.gems.ruby-china.org
更换gem源指令
gem sources -r 原本的源
gem sources -a http://sh0.gems.ruby-china.org
gem sources -l 查询源
然后在输入安装fastlane,才成功
2.自动化打包脚本
#!/bin/bash
#设置超时
export FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT=120
#计时
SECONDS=0
#假设脚本放置在与项目相同的路径下
project_path=$(pwd)
#取当前时间字符串添加到文件结尾
now=$(date +"%Y_%m_%d_%H_%M_%S")
#指定项目的scheme名称
scheme="Demo"
#指定要打包的配置名
configuration="Adhoc"
#指定打包所使用的输出方式,目前支持app-store, package, ad-hoc, enterprise, development, 和developer-id,即xcodebuild的method参数
export_method='ad-hoc'
#指定项目地址
workspace_path="$project_path/Demo.xcworkspace"
#指定输出路径
output_path="$project_path/IPA"
#指定输出归档文件地址
archive_path="$output_path/Demo_${now}.xcarchive"
#指定输出ipa地址
ipa_path="$output_path/Demo_${now}.ipa"
#指定输出ipa名称
ipa_name="Demo_${now}.ipa"
#获取执行命令时的commit message
commit_msg="$1"
#输出设定的变量值
echo "===workspace path: ${workspace_path}==="
echo "===archive path: ${archive_path}==="
echo "===ipa path: ${ipa_path}==="
echo "===export method: ${export_method}==="
echo "===commit msg: $1==="
#先清空前一次build
fastlane gym --workspace ${workspace_path} --scheme ${scheme} --clean --configuration ${configuration} --archive_path ${archive_path} --export_method ${export_method} --output_directory ${output_path} --output_name ${ipa_name}
#上传到fir
fir publish ${ipa_path} -T "XXX_YOUR_API_TOKEN_XXX" -c "${commit_msg}"
#输出总用时
echo "===Finished. Total time: ${SECONDS}s==="
(1、使用该文件需要项目支持CocoaPods;2、本项目的项目名称是Demo,在实际使用时需要将Demo替换成自己的项目名称;3、需要将XXX_YOUR_API_TOKEN_XXX 换成自己的fir token fir.im登陆上之后在个人头像位置点击可以查看API Token,复制到这就可以了)
应该需要先登录fir.im的,终端登录指令
fir login XXX_YOUR_API_TOKEN_XXX
3.执行自动打包
将这个脚本复制到项目目录文件夹
输入指令
./AutoPack.sh
如果提示Permission denied
这个时候我们需要使用一个命令使AutoPack..sh成为一个可执行的文件:
chmod +x AutoPack..sh
再次输入./AutoPack.sh就可以打包了。一定要cd到项目文件夹
4.相关文档
5.参考
1.使用fastlane gym/xctool编写ipa打包脚本
2.Fastlane自动化构建工具(完整解决测试和发布流程)
3.Fastlane + Bugly自动化部署测试包
4.iOS App 自动化上传 AppStore ,一键部署 App
5.iOS自动打包并发布到Fir.im