iOS 自动打包

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==="

参考链接:

Fastlane + Bugly自动化部署测试包

iOS一键搞定自动打包并发布到AppStore和Fir

iOS打包机器人-通过Python轻松实现一键打包上传Fir.im并发送邮件通知测试人员

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容