美文网首页
iOS 自动打包

iOS 自动打包

作者: LeeLeCoder | 来源:发表于2018-07-23 12:48 被阅读0次

    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并发送邮件通知测试人员

    相关文章

      网友评论

          本文标题:iOS 自动打包

          本文链接:https://www.haomeiwen.com/subject/umnljftx.html