New to fastlane? Click here to open the installation & setup instructions first
1) Install the latest Xcode command line tools
xcode-select --install
2) Install fastlane
# Using RubyGems
sudo gem install fastlane -NV
# Alternatively using Homebrew
brew install fastlane
3) Navigate to your project and run
fastlane init
Appfile
The Appfile stores useful information that are used across all fastlane tools like your Apple ID or the application Bundle Identifier, to deploy your lanes faster and tailored on your project needs.
The Appfile has to be inside your ./fastlane directory.
By default an Appfile looks like:
app_identifier "net.sunapps.1" # The bundle identifier of your app
apple_id "felix@krausefx.com" # Your Apple email address
# You can uncomment the lines below and add your own
# team selection in case you're in multiple teams
# team_name "Felix Krause"
# team_id "Q2CBPJ58CA"
# To select a team for App Store Connect use
# itc_team_name "Company Name"
# itc_team_id "18742801"
If you have different credentials for App Store Connect and the Apple Developer Portal use the following code:
app_identifier "tools.fastlane.app" # The bundle identifier of your app
apple_dev_portal_id "portal@company.com" # Apple Developer Account
itunes_connect_id "tunes@company.com" # App Store Connect Account
team_id "Q2CBPJ58CA" # Developer Portal Team ID
itc_team_id "18742801" # App Store Connect Team ID
If your project has different bundle identifiers per environment (i.e. beta, app store), you can define that by using for_platform and/or for_lane block declaration.
app_identifier "net.sunapps.1"
apple_id "felix@krausefx.com"
team_id "Q2CBPJ58CC"
for_platform :ios do
team_id '123' # for all iOS related things
for_lane :test do
app_identifier 'com.app.test'
end
end
You only have to use for_platform if you're using platform [platform_name] do in your Fastfile.
fastlane will always use the lane specific value if given, otherwise fall back to the value on the top of the file. Therefore, while driving the :test lane, this configuration is loaded:
app_identifier "com.app.test"
apple_id "felix@krausefx.com"
team_id "123"
Accessing from fastlane
If you want to access those values from within your Fastfile use
identifier = CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)
team_id = CredentialsManager::AppfileConfig.try_fetch_value(:team_id)