1、自动打包并发布到Fir.im
1.1 安装fastlane
fastlane几乎包含了和ipa相关的所有功能,例如打包、提交审核、测试、自动截屏等。
安装fastlane,只需要在终端输入(需要提前安装gem环境):
sudo gem install fastlane
1.2 使用gym工具
在安装fastlane时已经默认安装了常用工具,条用gym只需要cd到项目目录,然后执行
fastlane gym
,该命令会自动打包然后推送到iTunesConnect中,在此过程中需要输入 AppId及密码。
如果不需要提交到iTunesConnet中,可执行
fastlane gym --export_method ad-hoc
会自动生成ipa文件,以便后续操作.
1.3 Fir
安装fir-cli
gem install fir-cli
安装后可以先执行登录操作,登录后在后续操作中不用重复添加token(token需要到fir个人账号中获得),登录方法
fir login 【API Token】
将上述【API Token】替换为你自己的token。
发布ipa到fir,需要提前准备好ipa文件,执行
fir publish 【ipa_file_path】
将【ipa_file_path】替换为你的ipa本地路径。
2、自动化打包
为了实现一键打包的方案,需要将gym和fir结合到一起,这里利用了一个脚本文件,在使用时直接执行这个脚本文件即可。文件内容如下:
#!/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==="
参考链接: