Fastlane:iOS现在AndroidçªÅ。
#编程 #android #ios #fastlane

ç³»Å索ż

  1. Fastlane - iOS 和 Android 的自动化构建工具
  2. 深入浅出 Fastlane 一看你就懂
  3. 你虐我千百遍,我待你如初恋,直到我遇到 match

Å

<现在 âaude aude; ; IE

Å -é

listalian的意大利!出生于î¨ æ ¨ е ìμ î¨ æ Tread · t t job · å¼ e¯ · ça ä¸ Å ¾

fastlane-flow

çuçhereçæÅb了or ®ääPount

  • AbiaOOQIANQAI8和ADâÁl·¢)·¥¢¢¢¢¢¢¢¢¢¢¢€
  • sigh是Å⠀⠀⠀
  • AbiaOOQIANQIAN10ÅERO¢
  • gym - ÅVARºIoosÅÅÅÅÅ项ÅÅÅÅÅÅÅÅ项xctoolï¼èshenzhen;
  • qyerŀŮÅ。 Å是ÅÅ了。 / li>
  • fastlane 简单理解就是控制整体流程和实现的框架容器

ÅTiboute的

Å的物这些 如今

źæ -¬

fastlaneæäç怰···················· ¶Å使

  • action:fastlaneçæ¶太摄。 |ÅuntuäåÅ了Abiaoqiqian16
  • lane:fastlaneçääż¼¼è Kouude4cliä¼ÅÅÅÅÅ项ªª电ª

Åè·ÅK了Å了ż¼€Å®

lane :adhoc do
  # build version 自动加一
  increment_build_number
  # 执行 pod install
  cocoapods
  # 调用 facebook 的 xctool 进行单元测试
  xctool
  # 对模拟器运行的 App 进行截图
  snapshot
  # 安装团队证书和 profiles
  match
  # 上传 App 元数据和签名的 ipa 到 iTunes Conneects
  deliver
  # 把截图套进一个设备外壳
  frameit
  # 允许自定义的脚本文件
  sh "./customScript.sh"
  # 发消息到 slack
  slack
end

to®è£

Å·¥Å·® ½¥ÇÅ·¥Å·IS½完成®Å¼Pastlane;fastelätéätéäté以ät駧§§

  • macOS 10.9+
  • Ruby 2.0+(ærvmærbenvÅ®è£)
  • Xcode +命令行工具

ä»ä≤½½½½½½½½½½½½½½½½½½½½½½½½½½½½了½ä。 ï¼

$ [sudo] gem install fastlane

fastlane is»è®2。

ŧ

# 切换只你开发的 iOS 项目根目录
$ cd to/your/ios/project
$ fastlane init
[11:46:34]: Detected iOS/Mac project in current directory...
[11:46:34]: This setup will help you get up and running in no time.
[11:46:34]: fastlane will check what tools you're already using and set up
[11:46:34]: the tool automatically for you. Have fun!
[11:46:34]: Created new folder './fastlane'.
...
Your Apple ID (e.g. fastlane@krausefx.com): xxx@gmail.com
[11:46:59]: Verifying if app is available on the Apple Developer Portal and iTunes Connect...
[11:46:59]: Starting login with user 'xxx@gmail.com'
Multiple teams found on the Developer Portal, please enter the number of the team you want to use:
1) XXXXXXXXXX "XXXXXXXXXX" (In-House)
2) YYYYYYYYYY "YYYYYYYYYY" (Company/Organization)
+----------------+----------------------------------------------------------------------------+
|                                       Detected Values                                       |
+----------------+----------------------------------------------------------------------------+
| Apple ID       | xxx@gmail.com                                                              |
| App Name       | Hello Fastlane                                                             |
| App Identifier | com.icyleaf.demo.HelloFastlane                                             |
| Workspace      | /Users/icyleaf/Development/iOS/HelloFastlane.xcworkspace                   |
+----------------+----------------------------------------------------------------------------+

[11:48:36]: This app identifier doesn't exist on iTunes Connect yet, it will be created for you
Please confirm the above values (y/n) n
App Identifier (com.krausefx.app): com.icyleaf.demo.HelloFastlane
[11:50:04]: Created new file './fastlane/Appfile'. Edit it to manage your preferred app metadata information.
Optional: The scheme name of your app (If you don't need one, just hit Enter): AppDemo
[11:50:40]: 'snapshot' not enabled.
[11:50:40]: 'cocoapods' enabled.
[11:50:40]: 'carthage' not enabled.
[11:50:40]: Created new file './fastlane/Fastfile'. Edit it to manage your own deployment lanes.
[11:50:40]: fastlane will send the number of errors for each action to
[11:50:40]: https://github.com/fastlane/enhancer to detect integration issues
[11:50:40]: No sensitive/private information will be uploaded
[11:50:40]: Successfully finished setting up fastlane

�¼和çk。 to的pape âkfastlane®»Åfastlane®Å½ 网见电函¶CS

  • Fastfile:æmpIlative5:æmt
  • Appfile:ä»苹果开发人员门户网站
  • Deliverfile:ä»iTunes connectè·ÅV。

Ŷ仰»inä¶æææææææet美购(¼¼€Å‼»ä½美¾¼¾了和节目ˆæææææææææ棣¥¥¥¥¥◦ çiff±±±±±±±±±±±±±±±±±〜°°和½号€€«Æ€ æçè(ç

# Customise this file, documentation can be found here:
# https://github.com/fastlane/fastlane/tree/master/fastlane/docs
# All available actions: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Actions.md
# can also be listed using the `fastlane actions` command

# Change the syntax highlighting to Ruby
# All lines starting with a # are ignored when running `fastlane`

# If you want to automatically update fastlane if a new version is available:
# update_fastlane

# This is the minimum version number required.
# Update this, if you use features of a newer version
fastlane_version "1.95.0"

default_platform :ios

platform :ios do
  # 执行所有命令前都会先执行这里
  before_all do
    # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
    cocoapods
  end

  desc "Runs all the tests"
  lane :test do
    scan
  end

  desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :beta do
    # match(type: "appstore") # more information: https://codesigning.guide
    gym(scheme: "AppDemo") # Build your app - more options available
    pilot

    # sh "your_script.sh"
    # You can also use other beta testing services here (run `fastlane actions`)
  end

  desc "Deploy a new version to the App Store"
  lane :appstore do
    # match(type: "appstore")
    # snapshot
    gym(scheme: "AppDemo") # Build your app - more options available
    deliver(force: true)
    # frameit
  end

  # 你可以定义属于自己的 lane(任务)
  lane :hello do
    puts "hello world"
  end

  # 仅当上述流程全部执行成功后才会走这里。其实应该定义为 after_success
  after_all do |lane|
    # slack(
    #   message: "Successfully deployed new App Update."
    # )
  end

  # 如果流程发生异常会走这里并终止
  error do |lane, exception|
    # slack(
    #   message: exception.message,
    #   success: false
    # )
  end
end

ééiä駣 Žæ§èÅ >

$ fastlane ios hello
[11:56:24]: -------------------------------------------------
[11:56:24]: --- Step: Verifying required fastlane version ---
[11:56:24]: -------------------------------------------------
[11:56:24]: fastlane version valid
[11:56:24]: ------------------------------
[11:56:24]: --- Step: default_platform ---
[11:56:24]: ------------------------------
[11:56:24]: Driving the lane 'ios hello' ?
[11:56:24]: -----------------------
[11:56:24]: --- Step: cocoapods ---
[11:56:24]: -----------------------
[11:56:24]: $ pod install
...
[11:56:28]: hello world

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | cocoapods                           | 4           |
+------+-------------------------------------+-------------+

[11:56:28]: fastlane.tools finished successfully ?
ÅÅ了<

Å。 Å°ä©

# 自动更新 fastlane 工具,需要 rubygems >= 2.1.0
update_fastlane

# 最低兼容版本,由于 fastlane 还是逐步健壮的阶段更新速度还是蛮快的,
# 为了防止新特性在旧版本的不支持会强制设置一个最低兼容版本
# 不过工具特别贴心的会在每次执行之后会检查是否有新版本,如果有会在最后末尾追加新版本提醒
fastlane_version "1.95.0"

# 默认使用平台是 ios,也就是说文件可以定义多个平台,
# 通过上述执行的命令也能看出来是执行的 ios 平台下面的 hello 任务。
# 这个的作用是可以在执行 fastlane 的时候省略 ios,不信你执行 fastlane hello 试试。
default_platform :ios

androidçæ¯

和如何触摸¾¾¾ÅVoup ÅVOAPIS ä····································· - ÅÅOB¥ÅÅÅÅÅ项䮲£â

ää»ä±±±±±±±±±±±±±±usÅÅÅÅÅ了ÅÅ了Å -pin»Åü§Å®。