iOS使用fastlane自动化打包

栏目: 服务器 · 发布时间: 5年前

内容简介:ruby查看2、确认是否安装了Xcode命令行工具

最近好多微信文章都推荐fastlane,自己也总结一下我使用fastlane的过程吧。

其实自动化打包的 工具 有很多,比较流行的有 Jenkinsfastlane ,原来使用 Jenkins ,感觉这个工具比较麻烦,需要配置的东西非常多,还需要仓库地址等等很多信息,然而 fastlane 是比较简单快速的,(ios,Android都支持),github地址:

https://github.com/fastlane/fastlane 文档地址: https://docs.fastlane.tools/

github上有 24014多星星。3659个fork,所以大量的开发者信任并一起维护他。

安装前的准备工作

1、首先确认是否安装了ruby,终端查看下 ruby 版本

使用命令 ruby -v

iOS使用fastlane自动化打包

ruby查看

2、确认是否安装了Xcode命令行工具

使用命令 xcode-select --install

iOS使用fastlane自动化打包

xcode工具检查

如果是图中的情况是安装成功

如果出现:

iOS使用fastlane自动化打包

开发工具

就点击安装就行了。。。

开始正式安装fastlane

1、安装fastlane(两种方式都可以)

# Using RubyGemssudo gem install fastlane -NV
或者# Alternatively using Homebrewbrew cask install fastlane

个人操作

执行命令 sudo gem install fastlane -NV

iOS使用fastlane自动化打包

执行报错

错误原因:应该是 https://gems.ruby-china.org/  没有找到包,我们可以尝试访问这个地址: https://gems.ruby-china.org/

出现这个界面

iOS使用fastlane自动化打包

源地址报错

也就是我们需要更换源了

1、查看源: gem sources
2、删除源: gem sources --remove https://gems.ruby-china.org/
3、更换源: gem sources -a https://gems.ruby-china.com

具体步骤:

iOS使用fastlane自动化打包 更换源

继续安装,执行命令 sudo gem install fastlane -NV

iOS使用fastlane自动化打包

安装成功

2、使用

1、打开终端,cd 到你的项目下

命令:  cd + 项目目录
2、执行fastlane命令  fastlane init

如图

iOS使用fastlane自动化打包

fastlane init

下面会有四个选项供你选择

  1. 自动截屏。帮我们自动截取APP中的截图

  2. 自动发布beta版本用于TestFlight

  3. 自动发布到AppStore

  4. 手动设置

选择4 ,会出现如图的操作

iOS使用fastlane自动化打包

步骤

一直按enter键就可以了

如图就成功了

iOS使用fastlane自动化打包

成功

配置

我们项目下 fastlane 有两个文件 AppfileFastfile

iOS使用fastlane自动化打包

文件

Appfile 文件

# app_identifier("[[APP_IDENTIFIER]]") # The bundle identifier of your app
# apple_id("[[APPLE_ID]]") # Your Apple email address

# For more information about the Appfile, see:
#     https://docs.fastlane.tools/advanced/#appfile

app_identifier 用于指定APP的 bundle idapple_id 指的是你的 AppleID

Fastfile 文件

# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#     https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
#     https://docs.fastlane.tools/plugins/available-plugins
#

# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane

default_platform(:ios)

platform :ios do
  desc "Description of what the lane does"
  lane :custom_lane do
    # add actions here: https://docs.fastlane.tools/actions
  end
end

lane :custom_lane do 中的 custom_lane 是函数的名称,打包执行命令的时候使用。

# add actions here: https://docs.fastlane.tools/actions 这块就是让我们加具体执行的插件、命令等操作用于打包。

简单打包用于测试,可打包成 ad-hoc 或者 development

下面是我的配置

default_platform(:ios)

platform :ios do
  desc "Description of what the lane does"
  lane :NonTeacher do  #函数名称,执行打包的时候使用

    time = Time.new.strftime("%Y%m%d") #获取时间格式
    version = get_version_number#获取版本号
    ipaName = "Release_#{version}_#{time}.ipa"
    gym(
       scheme:"NonTeacher", #项目名称
       export_method:"ad-hoc",#打包的类型
       configuration:"Release",#模式,默认Release,还有Debug
       output_name:"#{ipaName}",#输出的包名
       output_directory:"./build"#输出的位置

     )

  end
end

终端先 cd 到项目下,然后执行命令 fastlane NonTeacher
下面就是打包成功的截图了

iOS使用fastlane自动化打包

打包成功

然后我们就可以在项目下看到包了

iOS使用fastlane自动化打包

包的显示

关于gym插件的更多用法可以在这里查看 https://docs.fastlane.tools/actions/gym/

上传到蒲公英或者 fir

1、上传蒲公英

1)、cd到项目下, 安装 pgyer 插件 执行命令 fastlane add_plugin pgyer

iOS使用fastlane自动化打包

安装成功

2)、重新编写项目目录下的 Fastfile 文件,如下:

iOS使用fastlane自动化打包

上传蒲公英

3)、cd 到项目下,执行命令 fastlane NonTeacher  ,打包上传成功

iOS使用fastlane自动化打包

打包上传成功

注意点:

如果遇到这种情况:

Could not find action, lane or variable 'pgyer'. Check out the documentation

可能是你安装 pgyer 插件的时候,不是在项目下安装的,这个插件必须在项目下面安装

2、上传至 fir
1)、cd到项目下, 安装 fir 插件,执行命令 fastlane add_plugin firim

iOS使用fastlane自动化打包

安装成功

2)、重新编写项目目录下的 Fastfile 文件,如下:

iOS使用fastlane自动化打包

编辑Fastfile

3)、cd 到项目下,执行命令 fastlane NonTeacher  ,打包上传成功

iOS使用fastlane自动化打包

上传到appstore

本人没有尝试过,还是习惯用xcode去上传,感觉放心,如果需要了解,可以看看这篇文章 https://www.jianshu.com/p/c09097211cd4

1、如果执行 sudo gem install fastlane -NV

报错:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/commander

换成这样的安装命令:

sudo gem install -n /usr/local/bin fastlane

2、如果执行 fastlane init 一直停留在bundle update 不动,如图

iOS使用fastlane自动化打包

bundle update

两种解决方法如下:

1)、结束进程 ctrl +c ,删除项目下的 fastlane 文件夹,使用 gem cleanup 清理一下,重新cd到项目下执行 fastlane init

2)、

查看一下你的源    gem sources -l
如果不是 https://gems.ruby-china.com
尝试换成 https://gems.ruby-china.com 这个源
先移除你原本的源 gem sources  --remove  + 源名称
增加新的源 gem sources --add https://gems.ruby-china.com

这篇文章说了一下经常用的一些插件,大家可以看看 https://www.jianshu.com/p/5119c115ec90

基本上就是这些,更多的东西,需要我们自己去探索,了解。

希望大家能提出宝贵的意见,可以给我留言,也可以发邮件到我的邮箱: namezyqyx@163.com

谢谢大家,如果你有更好的想法或文章请告知,不胜感激。

作者:谁遇而安

链接:https://www.jianshu.com/p/6ab8d2b7253a


以上所述就是小编给大家介绍的《iOS使用fastlane自动化打包》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

屏幕上的聪明决策

屏幕上的聪明决策

Shlomo Benartzi、Jonah Lehrer / 石磊 / 北京联合出版公司 / 2017-3 / 56.90

 为什么在手机上购物的人,常常高估商品的价值?  为什么利用网络订餐,人们更容易选择热量高的食物?  为什么网站上明明提供了所有选项,人们却还是选不到最佳的方案?  屏幕正在改变我们的思考方式,让我们变得更冲动,更容易根据直觉做出反应,进而做出错误的决策。在《屏幕上的聪明决策》一书中,什洛莫·贝纳茨教授通过引人入胜的实验及案例,揭示了究竟是什么影响了我们在屏幕上的决策。 ......一起来看看 《屏幕上的聪明决策》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试