New to fastlane? Click here to open the installation & setup instructions first
1) Install the latest Xcode command line tools
2) Install fastlane
# Using RubyGems sudo gem install fastlane -NV # Alternatively using Homebrew brew install fastlane
3) Navigate to your project and run
iOS App Store deployment using fastlane
Building your app
fastlane takes care of building your app using an action called build_app, just add the following to your
lane :release do build_app(scheme: "MyApp") end
Additionally you can specify more options for building your app, for example
lane :release do build_app(scheme: "MyApp", workspace: "Example.xcworkspace", include_bitcode: true) end
Try running the lane using
If everything works, you should have a
[ProductName].ipa file in the current directory. To get a list of all available parameters for build_app, run
fastlane action build_app.
Chances are that something went wrong because of code signing at the previous step. We prepared our own Code Signing Guide that helps you setting up the right code signing approach for your project.
Submitting your app
To find out more about how to automatically generate screenshots for the App Store, check out fastlane screenshots for iOS and tvOS.
Upload the binary and app metadata
After building your app, it's ready to be uploaded to the App Store. If you've already followed iOS Beta deployment using fastlane, the following code might look similar already.
lane :release do capture_screenshots # generate new screenshots for the App Store sync_code_signing(type: "appstore") # see code signing guide for more information build_app(scheme: "MyApp") upload_to_app_store # upload your app to App Store Connect slack(message: "Successfully uploaded a new App Store build") end
fastlane automatically passes on information about the generated screenshots and the binary to the
upload_to_app_store action of your
For a list of all options for each of the steps run
fastlane action [action_name].
For more details on how
upload_to_app_store works, how you can define more options, check out upload_to_app_store.
To make sure your latest push notification certificate is still valid during your submission process, add the following at the beginning of your lane:
lane :release do get_push_certificate # ... end
get_push_certificate will ensure your certificate is valid for at least another 2 weeks, and create a new one if it isn't.
If you don't have any push certificates already, get_push_certificate will create one for you and store locally in your project's directory. To get more information about the available options run
fastlane action get_push_certificate.
Incrementing the build number
The code sample below will use the latest build number from App Store Connect and temporarily set it.
lane :beta do increment_build_number( build_number: app_store_build_number + 1, xcodeproj: "Example.xcodeproj" ) end
For all the steps above, there are more parameters available, run the following to get a full list:
fastlane action [action_name]