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 toapi_key
to use connection or tooff
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_id
for 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 tooff
and leave authentication-related inputs empty.