iOS使用fastlane自动化打包

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

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

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

其实自动化打包的 工具 有很多,比较流行的有 Jenkins 和 fastlane ,原来使用 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 有两个文件 Appfile 和 Fastfile

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 id , apple_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自动化打包》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

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

CLR via C#

CLR via C#

(美)Jeffrey Richter / 周靖 / 清华大学出版社 / 2010-9 / 99.00元

本书针对CLR和.NET Framework 4.0进行深入、全面的探讨,并结合实例介绍了如何利用它们进行设计、开发和调试。全书5部分29章。第Ⅰ部分介绍CLR基础,第Ⅱ部分解释如何设计类型,第Ⅲ部分介绍基本类型,第Ⅳ部分以实用特性为主题,第Ⅴ部分花大量篇幅重点介绍线程处理。 通过本书的阅读,读者可以掌握CLR和.NET Framework的精髓,轻松、高效地创建高性能应用程序。一起来看看 《CLR via C#》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

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

Markdown 在线编辑器