fastlane: snapshot doesn't seem to work for macOS apps

New Issue Checklist

Issue Description

I’m trying to use snapshot to capture screenshots of a native macOS app, but I’m getting an error.

Command executed
bundle exec fastlane screenshots_macos
Complete output when running fastlane, including the stack trace and command used
Full command output
bundle exec fastlane screenshots_macos

[✔] 🚀 [10:00:59]: ------------------------------ [10:00:59]: — Step: default_platform — [10:00:59]: ------------------------------ [10:00:59]: Driving the lane ‘ios screenshots_macos’ 🚀 [10:01:00]: ---------------------- [10:01:00]: — Step: snapshot — [10:01:00]: ---------------------- [10:01:00]: Successfully loaded ‘/Users/igeek/Projects/Jugglebot/fastlane/Snapfile’ 📄

±---------------------------±--------------+ | Detected Values from ‘./fastlane/Snapfile’ | ±---------------------------±--------------+ | languages | [“en-US”] | | configuration | Debug | | clear_previous_screenshots | true | ±---------------------------±--------------+

[10:01:00]: Resolving Swift Package Manager dependencies… [10:01:00]: $ xcodebuild -resolvePackageDependencies -workspace ./Jugglebot.xcworkspace -scheme Screenshots-macOS -configuration Debug [10:01:00]: ▸ objc[36105]: Class AMSupportURLConnectionDelegate is implemented in both /usr/lib/libauthinstall.dylib (0x1f5875160) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1149782b8). One of the two will be used. Which one is undefined. [10:01:00]: ▸ objc[36105]: Class AMSupportURLSession is implemented in both /usr/lib/libauthinstall.dylib (0x1f58751b0) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x114978308). One of the two will be used. Which one is undefined. [10:01:00]: ▸ Command line invocation: [10:01:00]: ▸ /Applications/Xcodes/Xcode_12.5.app/Contents/Developer/usr/bin/xcodebuild -resolvePackageDependencies -workspace ./Jugglebot.xcworkspace -scheme Screenshots-macOS -configuration Debug [10:01:00]: ▸ User defaults from command line: [10:01:00]: ▸ IDEPackageSupportUseBuiltinSCM = YES [10:01:01]: ▸ resolved source packages: [10:01:01]: $ xcodebuild -showBuildSettings -workspace ./Jugglebot.xcworkspace -scheme Screenshots-macOS -configuration Debug objc[36111]: Class AMSupportURLConnectionDelegate is implemented in both /usr/lib/libauthinstall.dylib (0x1f5875160) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1168942b8). One of the two will be used. Which one is undefined. objc[36111]: Class AMSupportURLSession is implemented in both /usr/lib/libauthinstall.dylib (0x1f58751b0) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x116894308). One of the two will be used. Which one is undefined. [10:01:01]: Could not read the “SUPPORTED_PLATFORMS” build setting, assuming that the project supports iOS only.

±-------------------------------------±-----------------------------------------------------+ | Summary for snapshot 2.183.1 | ±-------------------------------------±-----------------------------------------------------+ | scheme | Screenshots-macOS | | devices | [“Mac”] | | workspace | ./Jugglebot.xcworkspace | | languages | [“en-US”] | | launch_arguments | [“”] | | output_directory | /Users/igeek/Projects/Jugglebot/fastlane/screenshots | | output_simulator_logs | false | | skip_open_summary | false | | skip_helper_version_check | false | | clear_previous_screenshots | true | | reinstall_app | false | | erase_simulator | false | | headless | true | | override_status_bar | false | | localize_simulator | false | | app_identifier | com.zeveisenberg.Jugglebot.iOS | | buildlog_path | ~/Library/Logs/snapshot | | clean | false | | configuration | Debug | | number_of_retries | 1 | | stop_after_first_error | false | | result_bundle | false | | concurrent_simulators | true | | disable_slide_to_type | false | | skip_package_dependencies_resolution | false | | disable_package_automatic_updates | false | | use_system_scm | false | | xcode_path | /Applications/Xcodes/Xcode_12.5.app | ±-------------------------------------±-----------------------------------------------------+

[10:01:02]: Clearing previously generated screenshots [10:01:02]: Building and running project - this might take some time… ±-----------------±----------------------+ | Lane Context | ±-----------------±----------------------+ | DEFAULT_PLATFORM | ios | | PLATFORM_NAME | ios | | LANE_NAME | ios screenshots_macos | ±-----------------±----------------------+

±-----±-----------------±------------+ | fastlane summary | ±-----±-----------------±------------+ | Step | Action | Time (in s) | ±-----±-----------------±------------+ | 1 | default_platform | 0 | | 💥 | snapshot | 2 | ±-----±-----------------±------------+

[10:01:02]: fastlane finished with errors

Looking for related GitHub issues on fastlane/fastlane…

➡️ Snapshot with Catalyst fails at latest_simulator_version_for_device https://github.com/fastlane/fastlane/issues/18663 [open] 0 💬 a day ago

➡️ Error running screenshots command - latest_simulator_version_for_device: undefined method `os_version’ for nil:NilClass https://github.com/fastlane/fastlane/issues/17894 [closed] 2 💬 05 Mar 2021

➡️ Upload to play store error - NoMethodError: [!] undefined method `each_with_index’ for nil:NilClass https://github.com/fastlane/fastlane/issues/18403 [closed] 57 💬 24 Mar 2021

and 2 more at: https://github.com/fastlane/fastlane/search?q=undefined method `os_version' for nil&type=Issues&utf8=✓

🔗 You can ⌘ + double-click on links to open them directly in your browser. bundler: failed to load command: fastlane (/Users/igeek/.rbenv/versions/2.7.2/bin/fastlane) NoMethodError: [!] undefined method os_version' for nil:NilClass /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane_core/lib/fastlane_core/device_manager.rb:134:in latest_simulator_version_for_device’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb:62:in block (3 levels) in take_screenshots_simultaneously' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb:62:in each’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb:62:in group_by' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb:62:in block (2 levels) in take_screenshots_simultaneously’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb:46:in each' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb:46:in each_with_index’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb:46:in block in take_screenshots_simultaneously' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb:45:in each’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb:45:in take_screenshots_simultaneously' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/snapshot/lib/snapshot/runner.rb:45:in work’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/actions/capture_ios_screenshots.rb:14:in run' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/runner.rb:263:in block (2 levels) in execute_action’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/actions/actions_helper.rb:69:in execute_action' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/runner.rb:255:in block in execute_action’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/runner.rb:229:in chdir' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/runner.rb:229:in execute_action’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/runner.rb:157:in trigger_action_by_name' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/fast_file.rb:159:in method_missing’ Fastfile:112:in block (2 levels) in parsing_binding' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/lane.rb:33:in call’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/runner.rb:49:in block in execute' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/runner.rb:45:in chdir’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/runner.rb:45:in execute' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/lane_manager.rb:47:in cruise_lane’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/command_line_handler.rb:36:in handle' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/commands_generator.rb:109:in block (2 levels) in run’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:187:in call' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:157:in run’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in run_active_command' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in run!’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in run!' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/commands_generator.rb:353:in run’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/commands_generator.rb:42:in start' /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/fastlane/lib/fastlane/cli_tools_distributor.rb:122:in take_off’ /Users/igeek/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/fastlane-2.183.1/bin/fastlane:23:in <top (required)>' /Users/igeek/.rbenv/versions/2.7.2/bin/fastlane:23:in load’ /Users/igeek/.rbenv/versions/2.7.2/bin/fastlane:23:in `<top (required)>’

✅ fastlane environment ✅

Stack

Key Value
OS 11.3.1
Ruby 2.7.2
Bundler? true
Git git version 2.31.1
Installation Source ~/.rbenv/versions/2.7.2/bin/fastlane
Host macOS 11.3.1 (20E241)
Ruby Lib Dir ~/.rbenv/versions/2.7.2/lib
OpenSSL Version OpenSSL 1.1.1i 8 Dec 2020
Is contained false
Is homebrew false
Is installed via Fabric.app false
Xcode Path /Applications/Xcodes/Xcode_12.5.app/Contents/Developer/
Xcode Version 12.5

System Locale

Variable Value
LANG en_US.UTF-8
LC_ALL
LANGUAGE

fastlane files:

`./fastlane/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

fastlane_require 'down'
fastlane_require 'mini_magick'
fastlane_require 'simctl'

default_platform(:ios)

# Makes the folder, if needed, and returns it.
def make_screenshots_folder_if_needed
  # Relative to project root
  screenshots_folder = "fastlane/screenshots"
  Dir.mkdir(screenshots_folder) unless File.exists?(screenshots_folder)
  return screenshots_folder
end

platform :ios do
  desc "Push a new beta build to TestFlight"
  lane :beta do
    build_app(
      workspace: "Jugglebot.xcworkspace",
      scheme: "Jugglebot-iOS",
      export_xcargs: "-allowProvisioningUpdates"
    )
    upload_to_testflight
  end

  desc "Deploy a new version to the iOS App Store"
  lane :release_ios do
    screenshots_ios
    screenshots_watchos
    build_app(
      workspace: "Jugglebot.xcworkspace",
      scheme: "Jugglebot-iOS",
      export_xcargs: "-allowProvisioningUpdates"
    )
    deliver(
      force: true,
      automatic_release: true
    )
  end

  desc "Deploy a new version to the Mac App Store"
  lane :release_macos do
    screenshots_macOS
    build_app(
      workspace: "Jugglebot.xcworkspace",
      scheme: "Jugglebot-macOS",
      export_xcargs: "-allowProvisioningUpdates"
    )
    deliver(
      force: true,
      automatic_release: true,
      skip_screenshots: true
    )
  end

  desc "Take screenshots for watchOS App Store"
  lane :screenshots_watchos do
    begin
      ENV['RUNNING_SCREENSHOTS_LANE'] = "true"
      watchos_screenshots
    ensure
      ENV.delete('RUNNING_SCREENSHOTS_LANE')
    end
  end

  desc "Take screenshots for iOS App Store"
  lane :screenshots_ios do
    begin
      ENV['RUNNING_SCREENSHOTS_LANE'] = "true"
      # iOS screenshots
      snapshot(
        scheme: "Screenshots-iOS",
        devices: [
          "iPhone 8",
          "iPhone 8 Plus",
          "iPhone SE (1st generation)",
          "iPhone 12 Pro",
          "iPhone 12 Pro Max",
          "iPhone 11",
          "iPad Pro (9.7-inch)",
          "iPad Pro (12.9-inch) (1st generation)",
          "iPad Pro (12.9-inch) (4th generation)",
          "iPad Pro (10.5-inch)",
          "iPad Pro (11-inch) (2nd generation)",
        ]
      )
    ensure
      ENV.delete('RUNNING_SCREENSHOTS_LANE')
    end
  end

  desc "Take screenshots for Mac App Store"
  lane :screenshots_macos do
    begin
      ENV['RUNNING_SCREENSHOTS_LANE'] = "true"
      # macOS screenshots
      snapshot(
        scheme: "Screenshots-macOS",
        devices: ["Mac"]
      )

      # watchOS screenshots
      watchos_screenshots
    ensure
      ENV.delete('RUNNING_SCREENSHOTS_LANE')
    end
  end

  desc "Take watchOS screenshots"
  lane :watchos_screenshots do
    watch_runtime = SimCtl::Runtime.latest(:watchos)
    watch_devicetype = SimCtl.devicetype(name: 'Apple Watch Series 6 - 44mm')
    watch_device = SimCtl.create_device "Screenshots @ Watch Series 6 44mm - #{watch_runtime.version}", watch_devicetype, watch_runtime

    phone_runtime = SimCtl::Runtime.latest(:ios)
    phone_devicetype = SimCtl.devicetype(name: 'iPhone 12')
    phone_device = SimCtl.create_device "Screenshots @ iPhone 12 - #{phone_runtime.version}", phone_devicetype, phone_runtime

    `xcrun simctl pair #{watch_device.udid} #{phone_device.udid}`
    UI.build_failure! "xcrun simctl pair failure: #{$?.exitstatus}" unless $?.exitstatus == 0

    `xcrun simctl boot #{watch_device.udid}`
    UI.build_failure! "failure booting watch device #{watch_device.udid}: #{$?.exitstatus}" unless $?.exitstatus == 0

    UI.message "waiting until booted"
    # wait for watch_device to launch
    watch_device.wait { |d| d.state == :booted }

    # launch simulator app itself
    watch_device.launch

    begin
      # Change to project root.
      Dir.chdir("..") do
        products_folder = "#{Dir.pwd}/build/"

        # Using xcodebuild because fastlane's build_app was not returning a path to the built app.
        # We set this path ourselves by overriding SYMROOT.
        `xcodebuild build -workspace Jugglebot.xcworkspace -scheme Jugglebot-iOS -destination "platform=iOS Simulator,id=#{phone_device.udid}" SYMROOT='#{products_folder}'`
        UI.build_failure! "error: xcodebuild result: #{$?.exitstatus}" unless $?.exitstatus == 0

        built_app = "#{products_folder}/Debug-watchsimulator/Jugglebot.app"

        watch_device.install(built_app)

        # array represents launch arguments
        watch_device.launch_app("com.zeveisenberg.Jugglebot.iOS.watchOS", ["-FASTLANE_SNAPSHOT", "YES"])

        sleep_time = 3
        UI.message "sleeping #{sleep_time} seconds to make sure simulator is ready"
        sleep(sleep_time)

        screenshots_folder = make_screenshots_folder_if_needed()

        `xcrun simctl io #{watch_device.udid} screenshot "#{screenshots_folder}/watch.png"`
        UI.shell_error! "error: screenshot result: #{$?.exitstatus}" unless $?.exitstatus == 0

        overlay_time_on_watch_screenshots :watch_screenshot_path => screenshots_folder + "/watch.png"
      end
    rescue => error
      UI.error "rescued error #{error}"
    ensure
      if watch_device.state != :shutdown
        UI.message "shutting down watch"
        watch_device.shutdown
      end
      UI.message "killing watch"
      watch_device.kill
      # wait until it did shut down
      watch_device.wait { |d| d.state == :shutdown }
      UI.message "deleting watch"
      watch_device.delete

      if phone_device.state != :shutdown
        UI.message "shutting down phone"
        phone_device.shutdown
      end
      UI.message "killing phone"
      phone_device.kill
      # wait until it did shut down
      phone_device.wait { |d| d.state == :shutdown }
      UI.message "deleting phone"
      phone_device.delete
    end
  end

  desc "Superimpose time on watchOS screenshots"
  lane :overlay_time_on_watch_screenshots do |options|
    juggler_image_file = options[:watch_screenshot_path] || raise("watch screenshot path was nil")
    # Composite the clock from a real watchOS screenshot.
    juggler_image = MiniMagick::Image.new(juggler_image_file)
    overlay_image = MiniMagick::Image.new("fastlane/screenshot_support_files/watch_series_6_watchos_7_clock_overlay.png")
    begin
      result = juggler_image.composite(overlay_image) do |c|
        c.compose "Over"
      end

      screenshots_folder = make_screenshots_folder_if_needed()
      image_output_path = screenshots_folder + "/watch_composited.png"
      result.write image_output_path
      UI.success "saved #{image_output_path}"
    rescue => error
      raise("image composition failed with error #{error}")
    end
  end
end

`./fastlane/Appfile`
app_identifier("com.zeveisenberg.Jugglebot.iOS") # The bundle identifier of your app
apple_id("zev@zeveisenberg.com") # Your Apple email address

itc_team_id("619522") # App Store Connect Team ID
team_id("2KJHM26Y46") # Developer Portal Team ID

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

Snapfile
UI.user_error!("Do not run snapshot directly. Instead, run the screenshots lane.") unless ENV['RUNNING_SCREENSHOTS_LANE'] == "true"

languages([ “en-US”, ])

not sure if we need this

ENV[“FASTLANE_SNAPSHOT”] = “YES”

configuration(“Debug”)

clear_previous_screenshots(true)

Where should the resulting screenshots be stored?

output_directory(“./screenshots”)

Arguments to pass to the app on launch. See https://docs.fastlane.tools/actions/snapshot/#launch-arguments

launch_arguments([“-favColor red”])

For more information about all available options run

fastlane action snapshot

</details

fastlane gems

Gem Version Update-Status
fastlane 2.183.1 ✅ Up-To-Date

Loaded fastlane plugins:

No plugins Loaded

Loaded gems
Gem Version
did_you_mean 1.4.0
bundler 2.1.4
uri 0.10.0
rake 13.0.3
CFPropertyList 3.0.3
concurrent-ruby 1.1.8
i18n 1.8.10
minitest 5.14.4
thread_safe 0.3.6
tzinfo 1.2.9
activesupport 5.2.6
public_suffix 4.0.6
addressable 2.7.0
httpclient 2.8.3
json 2.5.1
algoliasearch 1.27.5
artifactory 3.0.15
atomos 0.1.3
aws-eventstream 1.1.1
aws-partitions 1.457.0
aws-sigv4 1.2.3
jmespath 1.4.0
aws-sdk-core 3.114.0
aws-sdk-kms 1.43.0
aws-sdk-s3 1.94.1
babosa 1.0.4
claide 1.0.3
fuzzy_match 2.0.4
nap 1.1.0
netrc 0.11.0
ffi 1.15.0
ethon 0.14.0
typhoeus 1.4.0
cocoapods-core 1.10.1
cocoapods-deintegrate 1.0.4
cocoapods-downloader 1.4.0
cocoapods-plugins 1.0.0
cocoapods-search 1.0.0
cocoapods-trunk 1.5.0
cocoapods-try 1.2.0
colored2 3.1.2
escape 0.0.4
fourflusher 2.3.1
gh_inspector 1.1.3
molinillo 0.6.6
ruby-macho 1.4.0
nanaimo 0.3.0
xcodeproj 1.19.0
cocoapods 1.10.1
colored 1.2
highline 2.0.3
commander 4.6.0
declarative 0.0.20
digest-crc 0.6.3
unf_ext 0.0.7.7
unf 0.1.4
domain_name 0.5.20190701
dotenv 2.7.6
down 5.2.1
emoji_regex 3.2.2
excon 0.81.0
faraday-excon 1.1.0
faraday-net_http 1.0.1
faraday-net_http_persistent 1.1.0
multipart-post 2.0.0
ruby2_keywords 0.0.4
faraday 1.4.1
http-cookie 1.0.3
faraday-cookie_jar 0.0.7
faraday_middleware 1.0.0
fastimage 2.2.3
jwt 2.2.3
memoist 0.16.2
multi_json 1.15.0
os 1.1.1
signet 0.15.0
googleauth 0.16.2
mini_mime 1.1.0
trailblazer-option 0.1.1
uber 0.1.0
representable 3.1.1
retriable 3.1.2
rexml 3.2.5
webrick 1.7.0
google-apis-core 0.3.0
google-apis-androidpublisher_v3 0.2.0
google-apis-playcustomapp_v1 0.2.0
google-apis-iamcredentials_v1 0.3.0
google-apis-storage_v1 0.3.0
google-cloud-env 1.5.0
google-cloud-errors 1.1.0
google-cloud-core 1.6.0
google-cloud-storage 1.31.0
mini_magick 4.11.0
naturally 2.2.1
plist 3.6.0
rubyzip 2.3.0
security 0.1.3
simctl 1.6.8
terminal-notifier 2.0.0
unicode-display_width 1.7.0
terminal-table 1.8.0
tty-screen 0.8.1
tty-cursor 0.7.1
tty-spinner 0.9.3
word_wrap 1.0.0
rouge 2.0.7
xcpretty 0.3.0
xcpretty-travis-formatter 1.0.1
rchardet 1.8.0
git 1.8.1

generated on: 2021-05-18

/cc @joshdholtz

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 2
  • Comments: 16 (5 by maintainers)

Most upvoted comments

Fastlane-bot, my old nemesis, we meet again

Keep open please 🙏

Still needed