前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS+Fastlane自动打包发布到TestFlightiOS+Fastlane自动打包发布到TestFlight

iOS+Fastlane自动打包发布到TestFlightiOS+Fastlane自动打包发布到TestFlight

作者头像
Light413
发布2021-12-08 10:06:07
1.1K0
发布2021-12-08 10:06:07
举报

iOS Fastlane 自动化打包发布到App Store,相对比我们测试时打包麻烦了一些,主要由于访问App Store需要调用相关的api进行权限验证;

自动打包发布Beta版到TestFlight

从打包到上传到TestFlight需要以下几个命令:

  • gym
  • app_store_connect_api_key
  • upload_to_testflight
  • notification 该命令可以及时通知我们当前操作状态;

完整配置如下

代码语言:javascript
复制
# update_fastlane
default_platform(:iOS)
platform :iOS do 
    #生产环境打包
    lane :hs_release do |options|
    desc "Release>>>>>>>App开始打包..."
    gym(
          clean: true,
          output_directory: './fastlane/release',
          output_name:"XX.ipa",
          scheme: 'LoanManager',
          configuration: 'Release',###########
          include_bitcode: true,
          include_symbols: true,
          codesigning_identity:"iPhone Distribution: XXXXial Information Service Co.,Ltd (83XXXXXXX)",
          export_options: {
            method: 'app-store',
            provisioningProfiles: {
                "com.xx.xx" => "描述文件名称"
            },
          } 
    )
    notification(app_icon:"./fastlane/icon.png",title:"LoanManager",subtitle: "打包成功,已导出安装包>>>>>>>>", message: "准备发布中....")
    api_key = app_store_connect_api_key(
        key_id: "2CT XXXXX- KM",
        issuer_id: "69a6de84-a3e5-XXXXX-c7c11a4d1",
        key_filepath: "./fastlane/2CTXXXXTKM.p8",
        duration: 1200, # optional (maximum 1200)
        in_house: false # optional but may be required if using match/sigh
      )
      
    upload_to_testflight(
      api_key: api_key,
      skip_waiting_for_build_processing: true,
      # username: "1xxxx@163.com",
      # app_identifier: "com.sxx.xxx",
      ipa: "./fastlane/release/XX.ipa",
      skip_submission:true
     )
     
    notification(app_icon:"icon.png",title:"LoanManager",subtitle: "IPA上传成功", message: "自动打包完成!")
    end
end

主要参数解释

  • lane: 在Fastlane中每个lane就相当于一个任务,每个任务都是独立的,也可以相互调用;
  • gym->codesigning_identity:在钥匙串中打包证书名;
  • gym->clean:每次会执行清空以前操作,重新build;
  • gym -> export_options 设置打包方法,及证书相关;
  • upload_to_testflight-> api_key:上传到testflight需要的key,有方法app_store_connect_api_key 生成; 设置了这个 不能再设置 username , app_identifier两个参数了,否则打包时报错;
  • upload_to_testflight-> ipa : 目标IPA路径,相对工程的根路径;

app_store_connect_api_key 访问App Store秘钥相关,需要在APP主页申请生成,App Store访问秘钥相关,需要在APP主页申请

  • app_store_connect_api_key -> key_id
  • app_store_connect_api_key -> issuer_id 生成的发布ID
  • app_store_connect_api_key -> key_filepath 下载的key_file在本地的路径;

APP主页申请秘钥相关信息

APP -> 用户和访问,选择秘钥

生成结果只能查看一次,注意保留所需数据

记录生成的key,下载秘钥文件然后放到项目指定目录下即可;

运行命令打包

fastlane hs_release

告诉fastlane 执行我们的任务hs_release, 大约10分钟后完成,最终结果如图,然后就可以在App Store后台我们上传的APP了;相比手动打包,构建上传是不是快了很多;

至此发布到testFlight完成!一行命令统统搞定!
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021/10/20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 自动打包发布Beta版到TestFlight
  • 主要参数解释
  • APP主页申请秘钥相关信息
  • 运行命令打包
    • 至此发布到testFlight完成!一行命令统统搞定!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档