iis服务器助手广告
返回顶部
首页 > 资讯 > 移动开发 >fastlane自动化打包iOSAPP过程示例
  • 914
分享到

fastlane自动化打包iOSAPP过程示例

2024-04-02 19:04:59 914人浏览 安东尼
摘要

目录概述fastlane的安装fastlane的配置到你的iOS项目下,执行初始化命令:打包并自动上传 App 到蒲公英安装蒲公英的 fastlane 插件打包上传到Testflig

概述

APP自动化打包常见的主流工具jenkinsfastlaneJenkins功能强大,但是需要的配置也比较多,团队较大的可以优先考虑,fastlane是用Ruby语言编写的一套自动化工具集,比较轻便,配置简单,使用起来也很方便。本文会详细的介绍fastlane从安装到上传APP到蒲公英的整个流程。

fastlane的安装

第一步

因为fastlane是用Ruby语言编写的工具,所以必须保证已经配置好了Ruby开发环境。可以使用如下命令行查看是否安装了Ruby:

ruby -v

如果有以下提示说明,你已经安装了Ruby:

ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin21]

如果没有安装需要先安装ruby,本文对安装ruby不作教程说明。

第二步

安装Xcode命令行工具

xcode-select --install

如果没有安装,命令会有提示框,根据提示一步一步安装即可。 如果出现以下命令提示,说明已经安装成功:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

第三步:

Ruby和Xcode环境都配置好之后,执行以下命令来安装fastlane:

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

安装完成之后,输入以下命令查看是否安装成功:

fastlane --version

出现以下提示说明你已经安装成功了:

fastlane installation at path:
/Users/xxxxxx/.rvm/gems/ruby-2.7.0/gems/fastlane-2.206.1/bin/fastlane
-----------------------------
[✔] ? 
fastlane 2.206.1

fastlane的配置

到你的iOS项目下,执行初始化命令:

fastlane init

命令执行完成之后会给出我们如下几个提示:

[✔] ? 
[✔] Looking for iOS and Android projects in current directory...
[16:54:04]: Created new folder './fastlane'.
[16:54:04]: Detected an iOS/MacOS project in the current directory: 'xxxx.xcworkspace'
[16:54:04]: -----------------------------
[16:54:04]: --- Welcome to fastlane ? ---
[16:54:04]: -----------------------------
[16:54:04]: fastlane can help you with all kinds of automation for your mobile app
[16:54:04]: We recommend automating one task first, and then gradually automating more over time
[16:54:04]: What would you like to use fastlane for?
1. ?  Automate screenshots
2. ?‍✈️  Automate beta distribution to TestFlight
3. ?  Automate App Store distribution
4. ?  Manual setup - manually setup your project to automate your tasks
?  

命令执行到最后有What would you like to use fastlane for?提示,此时fastlane列出几个选项,需要我们告诉它使用fastlane需要执行哪种操作:

  • 第一种获取App Store的App预览照片。
  • 第二种打包上传至TestFlight工具上。
  • 第三种打包上传到App Store。
  • 第四种自定义打包方式。

以上四种方式根据自己的需要自行选择,本文主要介绍打包上传至第三方平台,所以选择4自定义打包方式。选择完成之后,fastlane会在我们项目中创建fastlane文件

[16:54:32]: ------------------------------------------------------------
[16:54:32]: --- Setting up fastlane so you can manually configure it ---
[16:54:32]: ------------------------------------------------------------
[16:54:32]: Installing dependencies for you...
[16:54:32]: $ bundle update
[16:54:40]: --------------------------------------------------------
[16:54:40]: --- ✅  Successfully generated fastlane configuration ---
[16:54:40]: --------------------------------------------------------
[16:54:40]: Generated Fastfile at path `./fastlane/Fastfile`
[16:54:40]: Generated Appfile at path `./fastlane/Appfile`
[16:54:40]: Gemfile and Gemfile.lock at path `Gemfile`
[16:54:40]: Please check the newly generated configuration files into git along with your project
[16:54:40]: This way everyone in your team can benefit from your fastlane setup
[16:54:40]: Continue by pressing Enter ⏎

创建好fastlane文件夹之后,Appfile是编辑我们相关App和开发者账号信息的,一般不需要我们去手动修改。Fastfile是我们对自动打包这个过程的完整配置,默认的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

打包并自动上传 App 到蒲公英

安装蒲公英的 fastlane 插件

fastlane add_plugin pgyer

编辑Fastlane 的配置文件 fastlane/Fastfile

lane :develop do
   target = "demo"
   configuration = "Debug"
   gym(scheme: target, configuration: configuration, export_method:"development")
   pgyer(api_key: "7f15xxxxxxxxxxxxxxxxxx141", user_key: "4a5bcxxxxxxxxxxxxxxx3a9e")
end

以下是蒲公英平台的说明:

  • 以上的 api_keyuser_key,请开发者在自己账号下的 应用管理 - App概述 - API 中可以找到,并替换到以上相应的位置。
  • 在 Xcode 8.3 和 Xcode 8.3 以后的版本中,对于 build_appexport_method 的值,需要根据开发者的打包类型进行设置,可选的值有:app-storead-hocdevelopmententerprise。对于 Xcode 8.3 以下的版本,则不需要设置 export_method

经过以上配置后,就可以使用 Fastlane 来打包 App,并自动上传到蒲公英了。在终端下,定位到项目所在目录,输入以下命令即可:

fastlane develop

在成功的情况下,可以看到类似下面的信息:

[18:37:22]: Successfully exported and compressed dSYM file
[18:37:22]: Successfully exported and signed the ipa file:
[18:37:22]: /Users/xxx/Documents/workCode/xxxxx.ipa
[18:37:22]: -------------------
[18:37:22]: --- Step: pgyer ---
[18:37:22]: -------------------
[18:37:22]: The pgyer plugin is working.
[18:37:22]: build_file: /Users/DDDd/Documents/workCode/xxxx.ipa
[18:37:22]: Start upload /Users/dddd/Documents/workCode/xxx.ipa to pgyer...
[18:37:43]: Upload success. Visit this URL to see: https://www.pgyer.com/xxxxx

+------+------------------+-------------+
|           fastlane summary            |
+------+------------------+-------------+
| Step | Action           | Time (in s) |
+------+------------------+-------------+
| 1    | default_platform | 0           |
| 2    | gym              | 61          |
| 3    | pgyer            | 20          |
+------+------------------+-------------+

[18:37:43]: fastlane.tools finished successfully ?

  • 设置一个版本更新时的描述信息:
lane :develop do
  build_app(export_method: "development")
  pgyer(api_key: "7f15xxxxxxxxxxxxxxxxxx141", user_key: "4a5bcxxxxxxxxxxxxxxx3a9e", update_description: "update by fastlane")
end

打包上传到Testflight

在Fastfile文件中加入下面命令:

desc "打包上传到Testflight"
  lane :beta do
    # add actions here: https://docs.fastlane.tools/actions
   target = "demo"
   configuration = "Release"
   gym(scheme: target, configuration: configuration, export_method:"app-store")
   upload_to_testflight(
 	    username: "xxxx@dd.com",
            app_identifier: "com.xxxx",
          )

在命令行输入:

fastlane beta

打包上传的过程中会让你输入苹果账号的密码,并且有可能会报下面的错:

[00:20:28]: Login successful
[00:20:31]: Ready to upload new build to TestFlight (App: fffff)...
[00:20:40]: Transporter transfer failed.
[00:20:40]: 
[00:20:40]: Please sign in with an app-specific passWord. You can create one at appleid.apple.com. (-22910)
[00:20:41]: 
[00:20:41]: Your account has 2 step verification enabled
[00:20:41]: Please Go to https://appleid.apple.com/account/manage
[00:20:41]: and generate an application specific password for
[00:20:41]: the iTunes Transporter, which is used to upload builds
[00:20:41]: 
[00:20:41]: To set the application specific password on a CI machine using
[00:20:41]: an environment variable, you can set the
[00:20:41]: FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD variable

这是因为你的APPLE账号开启了双重验证,注意这句提示Please sign in with an app-specific password用app专用密码登录,提示你创建一个app专用密码登录Transporter,关于怎么创建app专用密码本人不做讲解,可以自行百度或者谷歌,使用app专用账号即可解决此问题。

以上就是fastlane自动化打包iOS APP过程示例的详细内容,更多关于fastlane打包iOS APP的资料请关注编程网其它相关文章!

--结束END--

本文标题: fastlane自动化打包iOSAPP过程示例

本文链接: https://www.lsjlt.com/news/164769.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • fastlane自动化打包iOSAPP过程示例
    目录概述fastlane的安装fastlane的配置到你的iOS项目下,执行初始化命令:打包并自动上传 App 到蒲公英安装蒲公英的 fastlane 插件打包上传到Testflig...
    99+
    2024-04-02
  • Android使用Jenkins自动化打包
    一、目的 了解Jenkins工具Jenkins在Windows系统下的环境搭建Jenkins 的Android 构建环境配置创建FreeProject Item,配置Android Gradle工程构建环境 二、Jenkins Windo...
    99+
    2023-09-15
    android jenkins 自动化 gradle
  • webpack自动化打包方式详解
    目录webpack自动化打包重点生产模式与开发模式配置注意几点首先webpack自动化打包 首先下载包 npm i webpack-dev-server -D 配置 webpack....
    99+
    2023-02-09
    webpack自动化打包 webpack打包
  • PHP日志打包API:如何自动化打包和存档?
    随着互联网行业的发展,越来越多的应用程序采用PHP语言进行开发,而随之而来的问题就是如何管理和存储日志文件。日志文件是记录应用程序运行情况和错误信息的重要组成部分,因此,对于一些重要的应用程序而言,日志文件的管理和存储就显得尤为重要。 在...
    99+
    2023-10-02
    日志 打包 api
  • Flutter Shell自动化打包解放双手
    目录正文脚本运行视频打包流程图脚本目录讲解pack.sh(入口)pack_config.sh(全局配置项)脚本使用正文 经过一段时间的学习和项目实践,你会发现, 打包->上传蒲...
    99+
    2024-04-02
  • vue项目打包优化的示例分析
    小编给大家分享一下vue项目打包优化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用vue-cli部署生产包时,发现...
    99+
    2024-04-02
  • webpack打包速度优化的示例分析
    这篇文章主要介绍了webpack打包速度优化的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。dll原有项目是线上和本地公用一套dll...
    99+
    2024-04-02
  • IOS自动化—将WDA打包ipa批量安装驱动
    文章目录 前言必要条件为何做这个 一、下载WebDriverAgent二、进行打包WDA.ipa1、指定xcode运行路径报错解决一:path does not exist报错解决二:no...
    99+
    2023-09-17
    ios 自动化 xcode
  • maven手动上传jar包示例及图文步骤过程
    目录一、maven私服搭建二、gradle配置三、打包四、上传至maven私服中五、使用六、刷新gradle一、maven私服搭建 使用Nexus进行搭建,网上教程很多,不多赘述了。...
    99+
    2024-04-02
  • Android与iOS包体优化及一键自动打包脚本
    目录系统信息介绍安卓APK优化包体大小一、原理与介绍二、Flutter代码配置三、Android代码配置四、多渠道调试与打包指令安卓一键打包脚本一、简单介绍二、项目路径结构三、脚本内...
    99+
    2024-04-02
  • android性能优化之启动过程的示例分析
    小编给大家分享一下android性能优化之启动过程的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、应用的启动方式通常来说,启动方式分为两种:冷启动和热...
    99+
    2023-05-30
    android
  • 前端自动化测试之Jest 进阶教程示例
    目录Jest Mockmock 异步方法Mock TimersMock 类Snapshot 快照测试DOM 测试Jest Mock mock 异步方法 export const r...
    99+
    2023-02-14
    Jest 前端自动化测试 Jest 自动化测试进阶
  • shell脚本自动化的示例分析
    这篇文章主要介绍shell脚本自动化的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!将某文件远程拷贝到指定ip机器上的指定目录下:./scp_file.sh /tmp/xx....
    99+
    2024-04-02
  • selenium自动化测试的示例分析
    本篇文章为大家展示了selenium自动化测试的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下载驱动器http://chromedriver.storage.googleapis.com/...
    99+
    2023-06-26
  • vue-cli 3配置打包优化的示例分析
    这篇文章主要为大家展示了“vue-cli 3配置打包优化的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue-cli 3配置打包优化的示例分析”这篇文...
    99+
    2024-04-02
  • react前端项目打包优化的示例分析
    小编给大家分享一下react前端项目打包优化的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!分析通过控制台判断加载资源时间还有资源大小通过开发者工具可以看到白屏的主要原因在于bun...
    99+
    2024-04-02
  • selenium UI自动化实战过程记录
    目录一.前言1.1项目框架1.2项目目录结构二.项目代码1.config.ini (存放项目跟路径)2.conf.py3.elementData.xlsx(json与yaml替换)4...
    99+
    2024-04-02
  • Vue中webpack常规打包优化的示例分析
    这篇文章主要介绍了Vue中webpack常规打包优化的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。分析打包文件要优化,先分析。我们...
    99+
    2024-04-02
  • Linux启动过程的示例分析
    这篇文章主要为大家展示了“Linux启动过程的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux启动过程的示例分析”这篇文章吧。Linux启动过程详细介绍启动第一步--加载BIOS...
    99+
    2023-06-09
  • 如何优化Java异步编程API的打包过程?
    Java异步编程是现代应用程序开发中非常重要的一部分。异步编程的优势在于可以让我们的程序更高效地利用计算资源。但是,异步编程也有一些挑战,其中之一就是打包过程的复杂性。在本文中,我们将介绍如何优化Java异步编程API的打包过程,以提高应用...
    99+
    2023-08-28
    异步编程 api 打包
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作