美文网首页
iOS-Fastlane 自动打包上传firim、AppStor

iOS-Fastlane 自动打包上传firim、AppStor

作者: 41c48b8df394 | 来源:发表于2018-09-30 15:17 被阅读109次

Fastlane GitHub地址:Fastlane.github地址
详细介绍:文档地址
本文只配置,详细教程请看文档地址(需翻墙)。

环境

xcode7.3+
确保Xcode Command Line Tools 安装了最新版
终端输入:

xcode-select --install

如果你单独安装过ruby(如果你能看得懂这句),去掉sudo。如果使用系统自带的ruby,需要sudo权限

ruby安装教程

安装fastlane

终端到项目的当前文件夹下
初始化 fastlane

fastlane init

需要输入你的Apple ID 与密码(可以放心添加 ,账号密码都通过加密处理)
fastlane会自动检测当前目录项目的APP name 和App identifier。如果检测的不对,选择n自行输入。

当前目录下会创建一个fastlane的文件


fastlane文件夹
插件

Fastlane的插件是一个或者一组action的打包,单独发布在fastlane之外。Fastlane Plugin 指南
可以输入

fastlane search_plugins

查找相应的插件
安装插件方法

fastlane add_plugin [name] # 安装方法

安装插件(版本和firim插件)

fastlane add_plugin versioning # 用来修改build版本号和version版本号。
fastlane add_plugin firim
上传到蒲公英

自动化上传蒲公英
教程比较详细

配置发布环境

发布测试版到Fir.im
Subtext 编辑Fastfile文件(也可以是别的编译器,自行选择)
添加

# You can define as many lanes as you want
lane :to_firim do
  # 如果你用 pod install
  cocoapods(use_bundle_exec: false)

  # 如果你没有申请adhoc证书,sigh会自动帮你申请,并且添加到Xcode里
  sigh(adhoc: true)
  # 以下两个action来自fastlane-plugin-versioning,
  # 第一个递增 Build,第二个设定Version。
  # 如果你有多个target,就必须指定target的值,否则它会直接找找到的第一个plist修改
  # 在这里我建议每一个打的包的Build都要不一样,这样crash了拿到日志,可以对应到ipa上
  
  # gym用来编译ipa
  gym(
    output_directory: './firim',
    export_options: {
      method: "ad-hoc", # 这可以不指定
      thinning: "<none>"
    }
    )
  # 上传ipa到fir.im服务器,在fir.im获取firim_api_token
  firim(firim_api_token: "你的firimtoken")
end
发布
fastlane to_firim
上传成功

然后就可以去下载测试了

配置遇到问题

Could not find proper version of fastlane (1.66.0) in any of the sources
需要更改ruby源
删除源https://gems.ruby-china.org/

gem sources --remove https://gems.ruby-china.org/

更改源https://rubygems.org/ (需要翻墙下载下)

gem sources -a https://rubygems.org/ 

参考文献:
小团队的自动化发布-Fastlane带来的全自动化发布
fastlane 自动打包到 fir.im 的踩坑之路

备注:

  1. fastlane beta 命令 报错:

    [!] Add 'gem "cocoapods"' to your Gemfile and restart fastlane

    解决方法:

    修改Gemfild 里面的 gem 'fastlane'  为 gem "cocoapods"
    

    此时报错 method `to_plist' not defined in Array

    解决办法,分别执行以下命令: 链接

    rvm @global do gem uninstall fastlane 
    rvm all do gem uninstall fastlane
    gem uninstall fastlane
    gem install fastlane
    

    重新安装fastlane之后,执行fastlane beta 可以看到导出的ipa

  2. 工程为cocoapods 若出错可以修改

    Fastfile before_all do cocoapods(use_bundle_exec: false)
    
自动上传App Store 与 Testfilght 发布待续

相关文章

网友评论

      本文标题:iOS-Fastlane 自动打包上传firim、AppStor

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