Fastlane v3.0.0

Added support to use (API key) connection. There are two types of Apple Developer connection you can enable on Bitrise: one is based on an API key of the App Store Connect API, the other is with an Apple ID (session-based). API Key will now be used by default if there is a connection configured for the given app. Using an API key will disable prechecking in-app purchases when using the deliver action, as that is not available through the API.

For Apple ID, now we are also passing the username/password/app-specific password in addition to the session (FASTLANE_SESSION) as they are required by the Fastlane deliver action.

If a valid connection or authentication-related inputs are found, Fastlane Apple authentication-related environment variables that are already set may be overridden. To prevent this set Bitrise Apple Developer Connection (connection) input to off and leave authentication-related inputs empty. The affected Environment Variables include DELIVER_USERNAME, DELIVER_PASSWORD, FASTLANE_SESSION, FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD, DELIVER_API_KEY_PATH and PRECHECK_INCLUDE_IN_APP_PURCHASES.

Added the Bitrise Apple Developer Connection (connection) input. The default behavior is the following: Use any enabled Apple Developer connection, either based on Apple ID authentication or API key authentication. Step inputs are only used as a fallback. API key authentication has priority over Apple ID authentication in both cases.
Available options:
- automatic: Use any enabled Apple Developer connection, either based on Apple ID authentication or API key authentication. Step inputs are only used as a fallback. API key authentication has priority over Apple ID authentication in both cases.
- api_key: Use the Apple Developer connection based on API key authentication. Authentication-related Step inputs are ignored.
- apple_id: Use the Apple Developer connection based on Apple ID authentication and Application-specific password Step input. Other authentication-related Step inputs are ignored.
- off: Do not use any Apple Developer Connection. Only authentication-related Step inputs are considered.

Migration guide

  • In case your build did not use or require any kind of Apple authentication: no action needed
  • To migrate to the API key-based authentication from Apple ID-based authentication:
    • Make sure to use the latest major version of the Fastlane step (3).
    • Create a new key with the correct role (App Manager/Admin may be needed for the deliver action): https://developer.apple.com/documentation/appstoreconnectapi/creating_api_keys_for_app_store_connect_api
    • Set the Bitrise Apple Developer Connection (connection) input to api_key to use connection or to off to use Step inputs.
    • Set up an Apple Developer connection or configure API Key: URL and API Key: Issuer ID inputs.
    • Remove any set Fastlane authentication Environment Variables: FASTLANE_USER, FASTLANE_PASSWORD or other as they are no longer needed.
  • If you used the Apple Developer connection with Apple ID based authentication (the only one available before 3.0.0 release), and wish to continue doing so:
    • If no API key-based connection is set up, no action is needed. To make sure that the app-specific password is set up, continue with the next steps.
    • Select apple_idfor the Bitrise Apple Developer Connection (connection) input.
    • Set the Apple ID: Application-specific password input as it is not yet available from the connection.
    • Remove any authentication-related Environment Variables: FASTLANE_USER (DELIVER_USERNAME), FASTLANE_PASSWORD (DELIVER_PASSWORD) as they are no longer needed. Please check that the Apple Developer connection contains valid credentials.
  • To continue using API-key or Apple ID-based authentication using custom lanes, Environment variables or CLI attributes (without using the available inputs or Apple Developer connection) set Bitrise Apple Developer Connection (connection) input to off and leave authentication-related inputs empty.

This topic was automatically closed after 90 days. New replies are no longer allowed.