Skip to content

Commit

Permalink
Update publishing-to-app-store.md (#2437)
Browse files Browse the repository at this point in the history
* Update publishing-to-app-store.md

* Update publishing-to-app-store.md

Specified path to App Store Version Release

* Update publishing-to-app-store.md

clarified different types of releases

* Update publishing-to-app-store.md

added default behavior info
  • Loading branch information
himesh-cm authored Apr 30, 2024
1 parent 7b320c6 commit 3d3ee94
Showing 1 changed file with 28 additions and 7 deletions.
35 changes: 28 additions & 7 deletions content/flutter-publishing/publishing-to-app-store.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ It is also worth pointing out the necessity for each uploaded binary to have a *
{{<notebox>}}**Note:** You will need to create an **app record** in App Store Connect before you can automate publishing with Codemagic. It is recommended to upload the very first version of the app manually.
{{</notebox>}}

In order to be able to test iOS apps on Apple devices, manual device UDID registration in the Apple Developer Program account is required. Alternatively, Codemagic's automatic device registration can be used to register devices as explained [here](https://docs.codemagic.io/testing/ios-provisioning/).
In order to be able to test iOS apps on Apple devices, manual device UDID registration in the Apple Developer Program account is required. Alternatively, Codemagic's automatic device registration can be used to register devices as explained [here](https://docs.codemagic.io/testing/ios-provisioning/).

## Setting up publishing to App Store Connect on Codemagic

This section gives step-by-step instructions on how to configure publishing to App Store Connect using Flutter workflow editor.

### Step 1. Creating an App Store API key for Codemagic

{{<notebox>}}
**Tip:** You may also reuse any of the keys you've already set up for automatic [iOS](../code-signing/ios-code-signing/#automatic-code-signing) or [macOS](../code-signing/macos-code-signing/#automatic-code-signing) code signing.
{{</notebox>}}
Expand All @@ -51,7 +51,7 @@ Once the Apple Developer Portal has been enabled for the account or team the app
4. Mark the **Publish even if tests fail** checkbox to continue uploading the app artifact even when the tests failed.
5. Select **Enable App Store Connect publishing** at the top of the section to enable publishing.

Your app will be now published to App Store Connect. However, you can select additional options to submit the build to TestFlight beta review or App Store review.
Your app will be now published to App Store Connect. However, you can select additional options to submit the build to TestFlight beta review or App Store review.

#### Submitting an app to TestFlight

Expand All @@ -60,7 +60,7 @@ Your app will be now published to App Store Connect. However, you can select add

#### Submitting an app to App Store review

In order to submit your application to App Store review, mark the **Submit to App Store review** checkbox. Note: This action is performed during [post-processing](#post-processing-of-app-store-connect-distribution).
In order to submit your application to App Store review, mark the **Submit to App Store review** checkbox. Note: This action is performed during [post-processing](#post-processing-of-app-store-connect-distribution).

Alternatively, if you wish to submit an already uploaded build for review in App Store Connect, follow the steps below:

Expand All @@ -69,7 +69,29 @@ Alternatively, if you wish to submit an already uploaded build for review in App
3. To start the submission process, click **Prepare for Submission**.
4. Check that your app metadata is up to date, and once everything is ready, click the **Submit for Review** button.

Note that the application must be manually released to the App Store once Apple approves the release.
When using the workflow editor, developers have a few different methods to choose from for publishing their app on Apple's App Store once it has been approved by Apple. Each method caters to different strategies and needs. By default, the release method is set to Manual Release. Here’s a breakdown of the release options available and how you can configure them in App Store Connect:

**Release Methods**

1. **Manual Release**: Once your app is approved by Apple, you can choose when to release it on the App Store manually. This gives you complete control over the timing of the release.

2. **Automatic Release**: By selecting this option, your application will be automatically released on the App Store once it is approved by Apple. This feature is useful if you wish to make your app available to users as soon as possible without any manual intervention required.

3. **Scheduled Release**: You have the option to schedule a specific date and time for your app to be published on the App Store. This feature is useful if you want your app to be launched at a particular moment, such as the beginning of a business day or a particular event, but only after it has been approved by Apple.

Configuration in App Store Connect
To configure these release options, you need to navigate to App Store Connect. Here’s how you can set it up:

1. Log in to your Apple Developer account and access App Store Connect.
2. Select your app from the list of your applications.
3. Navigate to the 'App Store' tab, and then go to the **Distribution settings** section.
4. Scroll to the 'Version Release' section: Here, you will find options to manage how your app is released:
* Choose "Manually release this version" if you want to manually push your app live after Apple's approval.
* Select "Automatically release this version" to have the app go live as soon as Apple approves it.
* Opt for "Automatically release this version after App Review, but no earlier than..." to set up a scheduled release. You can specify the date and time when the app should go live.

These settings must be specified before you submit your app for review by Apple. Changing these settings after submission or post-approval might require another submission or at least an update in your App Store Connect configuration.


## Submitting release notes

Expand All @@ -94,10 +116,9 @@ Supported languages could be found [here](https://developer.apple.com/documentat
**Note:** Uploading release notes takes place in the [post-processing](#post-processing-of-app-store-connect-distribution) step.
{{</notebox>}}


## Post-processing of App Store Connect distribution

Some App Store Connect actions, like submitting the build to TestFlight beta review, distributing the build to beta groups and uploading release notes take place asynchronously in the post-processing step after the app artifact has been successfully published to App Store Connect and the main workflow has completed running in Codemagic. This avoids using the macOS build machine while we are waiting for Apple to complete processing the build and it becomes available for further actions.
Some App Store Connect actions, like submitting the build to TestFlight beta review, distributing the build to beta groups and uploading release notes take place asynchronously in the post-processing step after the app artifact has been successfully published to App Store Connect and the main workflow has completed running in Codemagic. This avoids using the macOS build machine while we are waiting for Apple to complete processing the build and it becomes available for further actions.

Post-processing has a two-step timeout. If the uploaded build cannot be found in App Store Connect in 15 minutes, the step times out. This may happen if there are issues with the uploaded artifact, in which case the build does not become available in App Store Connect at all and you'll receive an email from App Store Connect. The overall timeout for post-processing is 120 minutes. If the uploaded build has not exited the processing status by then, post-processing in cancelled. You will be still able to manually submit the build to beta review, upload release notes and distribute the app to beta groups once the build becomes available in App Store Connect.

Expand Down

0 comments on commit 3d3ee94

Please sign in to comment.