自动化打包之fastlane-- 代码签名和项目配置

Posted 上进求知,认真思辨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化打包之fastlane-- 代码签名和项目配置相关的知识,希望对你有一定的参考价值。

自动化打包之fastlane–(1) 研究之必须提前了解的几点

自动化打包之fastlane–(2) fastlane init图文教程

自动化打包之fastlane–(3) 安装fir插件图文教程

自动化打包之fastlane–(4) 安装其他插件

自动化打包之fastlane–(5) 自动打包到蒲公英

自动化打包之fastlane–(6) ruby使用小结

自动化打包之fastlane–(7) 常用actons操作

自动化打包之fastlane–(8) 代码签名和项目配置

自动化打包之fastlane–(9) 常见错误

1. 代码签名概述

  • 使用fastlanematch 命令
  • 使用fastlanecertsigh 命令
  • 使用 Xcode自带的 code signing 功能 命令
  • 手动签名

  • match会自动帮助你在git仓库中管理私钥和证书,以方便团队开发

  • cert会帮助你在电脑上安装有效的证书和私钥
  • sigh会帮助你在电脑上安装有效的provisioning profile配置文件
lane :beta do
  get_certificates           # invokes cert
  get_provisioning_profile   # invokes sigh
  build_app
end

开发阶段和发布阶段不同的处理

//发布阶段手动配置代码签名
lane :release do
  sync_code_signing
  disable_automatic_code_signing(path: "my_project.xcodeproj")
  build_app
  enable_automatic_code_signing(path: "my_project.xcodeproj")
  upload_to_testflight
end

Xcode 7 及以后版本

  • 尽量不要点击Fix Issue按钮,有可能会把fastlane配置的证书和配置文件替换了,导致fastlane自动化打包失败

2. match和Xcode 项目

Xcode 9以上的IDE

如果不使用match命令,可以使用fastlane的如下命令来设置配置文件

lane :beta do
  build_app(
    export_method: "app-store",
    export_options: 
      provisioningProfiles:  
        "com.example.bundleid" => "Provisioning Profile Name",
        "com.example.bundleid2" => "Provisioning Profile Name 2"
      
    
  )
end

  • 开发阶段使用Xcode自动代码签名功能的话,就不用使用match development命令了
  • Xcode自动配置不会跨计算机同步您的私钥(如果您有多台计算机或在团队成员之间共享)。要安全地存储您的私钥并从所有设备访问它,请使用match appstorematch adhoc。这将通过git同步您的密钥,证书和配置文件,并使用OpenSSL进行加密。
  • 如果使用fastlane,则无需执行任何额外工作,因为最新配置文件的环境变量是通过match自动设置的
lane :beta do
  match(type: "adhoc")
  gym
end

您也可以使用手动设置环境变量

lane :beta do
  ENV["PROVISIONING_PROFILE_TARGET1"] = "b01c39c9-1b4a-412e-9ae2-3087ee9ea9d3"
  gym
end

以上是关于自动化打包之fastlane-- 代码签名和项目配置的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发之使用fastlane工具实现自动化打包发布

Fastlane 代码签名需要错误

Fastlane 一键打包/发布APP - 使用记录及踩坑

Fastlane 一键打包/发布APP - 使用记录及踩坑

iOS中使用Fastlane实现自动化打包和发布

Fastlane- app自动编译打包多个版本上传到app store