fastlane Tutorial: Getting Started | raywenderlich.com

In this fastlane tutorial, you’ll learn how to provision, screenshot, build and upload an app to the App Store using fastlane.


This is a companion discussion topic for the original entry at https://www.raywenderlich.com/233168-fastlane-tutorial-getting-started
1 Like

Hey your tutorial is great,
may i ask you about how we upload to testflight ?

@lyndsey Can you please help with this when you get a chance? Thank you - much appreciated! :]

Everything was going smoothly until I got the following error when running the script not sure if I’m missing something:

Unsupported directory name(s) for screenshots/metadata in './fastlane/metadata': mZone Poker, mZone Poker Pro

Valid directory names are: ["ca", "cs", "da", "de-DE", "el", "en-AU", "en-CA", "en-GB", "en-US", "es-ES", "es-MX", "fi", "fr-CA", "fr-FR", "hi", "hr", "hu", "id", "it", "ja", "ko", "ms", "nl-NL", "no", "pl", "pt-BR", "pt-PT", "ro", "ru", "sk", "sv", "th", "tr", "uk", "vi", "zh-Hans", "zh-Hant", "appleTV", "iMessage", "default"]

Ok I was able to fix this issue but adding this line to the Deliverfile

metadata_path(".fastlane/metadata/${ENV['SCHEME']}")

However I still have two other issues:

  1. The app icon is never updated to iTunes connect for some reason
  2. The metadata is not set in iTunes connect.

I’m referring to the Multiple_Targets as well as the initial single target upload.

@lyndsey Do you have any feedback about this? Thank you - much appreciated! :]

Ok that last change didn’t work but I finally have everything working including getting the app icon on the App Store with the following changes to the upload lane:

deliver(
      metadata_path: "./fastlane/metadata/#{ENV['SCHEME']}",
      app_icon: "./#{ENV['SCHEME']}/Assets.xcassets/AppIcon.appiconset/AppIcon.png"
    )

Note I removed the line from the Deliverfile I posted about in the last comment.

@warplydesigned Really glad you fixed it! :]

You can upload to TestFlight using Fastlane’s Pilot action, detailed in this documentation: testflight - fastlane docs

Great tutorial. Followed instructions and all worked well until performing fastlane build - fails with error “Unable to close provisioning ledger entry because not all of its subentries are closed.” Unable to find solution in SO and unclear on next steps. XCode 10.2.1 and latest fastlane as of today.

@lyndsey Can you please help with this when you get a chance? Thank you - much appreciated! :]

One other bit of feedback: the snapshot lane initially failed for my setup,

fastlane snapshot init
...Could not determine installed iOS SDK version...

but I was able to correct it with

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Might be worth adding as a sidebar in the tutorial in case others hit the same problem.

Discovered the problem. Since I had never uploaded an app to the store before, I had never created a distribution certificate, only a development one. Once I created a distro cert and added it to my Keychain, the process went
better. The command

bundle exec fastlane do_everything

still doesn’t complete successfully, now complaining that the English locale in the tutorial doesn’t have screenshots (all shots are there for both English and French).

[22:28:58]: You must add at least one screenshot. [en-US]: You must add at least one screenshot. There is an error for 1 of your localizations.

Oddly, the iTunes Store sent me an email stating that the app uploaded successfully, even though none of the screenshots are there.

Will try modifying the Snapfile to only include the en-US locale and see how that does


@jbparrett Do you still have issues with this?

I get this error in terminal when I type fastlane create_app

[!] Could not find lane ‘ios create_app’. Available lanes: ios beta

@lyndsey Do you have any feedback about this? Thank you - much appreciated! :]

This tutorial is more than six months old so questions are no longer supported at the moment for it. Thank you!