Skip to content

Apple Store Deployment Issues: Typo fixed, improved formatting, assets added #388

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"label": "Apple Store Deployment"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"label": "Fetching Signing Files"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
keywords: ['deployment', 'flutter', 'exited']
slug: /codemagic-install-pods-failure
title: Codemagic Install Pods Failure
---

# Codemagic Install Pods Failure

During Codemagic deployment, errors may occur at the **Install Pods** step due to iOS dependency conflicts, unstable code branches, or pod version mismatches. This guide outlines steps to identify and resolve these issues effectively.

:::info[Prerequisites]
- You are deploying an iOS app using Codemagic.
- Your project includes custom code or third-party packages.
:::

## Fix Dependency Conflicts from Custom Code

Custom code or third-party packages may introduce conflicting versions of dependencies that prevent CocoaPods from resolving successfully.

**Steps to Resolve Install Pods Failure:**

- **Check for Dependency Conflicts from Custom Code**
Custom or third-party packages may cause version mismatches with FlutterFlow-supported dependencies.

- Review documentation to ensure package compatibility.
- Adjust versions in your `pubspec.yaml` file accordingly.
- Run:

```bash
flutter pub get
```

![](../../assets/20250430121132533922.png)

- **Use a Stable GitHub Branch for Deployment**
Deploying from unstable branches can introduce unexpected errors during pod installation.

- Ensure you're using a branch that passed previous Codemagic deployments.
- Remove untested or experimental code.
- Revert or refactor recent commits that might break dependencies.

![](../../assets/20250430121132883140.png)

- **Fix Pod Version Compatibility Issues**
CocoaPods may fail to resolve dependencies due to incompatible versions or incorrect iOS deployment targets.

- Update packages like `app_settings` in `pubspec.yaml` to versions compatible with your Flutter version.
- Raise the iOS minimum deployment target in Xcode if necessary.

![](../../assets/20250430121133219967.png)

:::tip[Deployment Best Practices]
- Confirm dependency compatibility before pushing changes.
- Always deploy from tested GitHub branches.
- Verify your deployment target supports all pods used.
:::
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
keywords: ['signing', 'codemagic', 'certificate']
slug: /codemagic-signing-certificate-limit
title: Codemagic Signing Certificate Limit
---

# Codemagic Signing Certificate Limit

During iOS deployment, Codemagic attempts to create distribution certificates in your Apple Developer Account. If the maximum number of certificates has already been reached, the build will fail with a certificate creation error.

## Error Message

```bash
Build failed :|Step 3 script `Fetch signing files` exited with status code 1
Returned 409: There is a problem with the request entity - You already have a current Distribution certificate or a pending certificate request.
```

This message indicates that Codemagic cannot proceed because no additional distribution certificates can be created.

:::info[Prerequisites]
- You are deploying an iOS app using Codemagic.
- Your Apple Developer Program account is active and linked.
:::

**Steps to Resolve Certificate Limit Error:**

1. **Access Your Apple Developer Account**
Log into your Apple Developer account to manage certificates:

- Go to the **[Apple Developer Certificates List](https://developer.apple.com/account/resources/certificates/list)**.

2. **Navigate to the Certificates Section**
In the **Certificates, Identifiers & Profiles** section:

- Click on **Certificates**.
- Locate all existing **Distribution Certificates**.

3. **Remove Unused or Expired Certificates**
Review and delete any unused, expired, or redundant distribution certificates to free up space.

4. **Re-run Deployment**
After deleting the certificates, initiate the build process again in FlutterFlow. Codemagic will automatically generate a new certificate as needed.

:::note
The deleted distribution certificates will be recreated automatically by Codemagic during the next build.
:::
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
keywords: ['authentication', 'deployment', 'ios']
slug: /ios-deployment-authentication-error
title: iOS Deployment Authentication Error
---

# iOS Deployment Authentication Error

During iOS deployment using Codemagic, an authentication credentials error can occur due to misconfigured or expired API tokens for App Store deployment.

The API token used for App Store Connect may be invalid or expired.

:::info
For details on generating valid tokens, see the **[Apple API Token Documentation](https://developer.apple.com/go/?id=api-generating-tokens)**.
:::

Here is the error message:

```bash
Failed Step: Fetch signing files
GET https://api.appstoreconnect.apple.com/v1/bundleIds?limit=100&sort=name&filter%5Bidentifier%5D=appname.com&filter%5Bplatform%5D=IOS returned 401: Authentication credentials are missing or invalid. Provide a properly configured and signed bearer token, and make sure that it has not expired. Learn more about Generating Tokens for API Requests https://developer.apple.com/go/?id=api-generating-tokens
```

:::info[Prerequisites]
- Access to your Apple Developer App Store Connect account.
- Permission to manage API keys under **Users and Access**.
:::

**Steps to Resolve the Authentication Error:**

1. Open **App Store Connect** and navigate to **Users and Access → Keys**.

2. If prompted, click **Request Access**.

3. Select **Generate API Key** or click the **Add (+)** button.

4. In the popup, provide the following details:
- **Name**: Enter a descriptive name for the API Key.
- **Access**: Choose the appropriate access level for the key.

5. Click **Generate** to create the API Key.

6. Download the newly created API Key by selecting **Download API Key**.

:::note
If the download option does not appear immediately, refresh the page.
:::

7. In **FlutterFlow**, go to **Settings & Integrations → Deployment**.

8. Under **Private Key**, click **Upload Private Key**, select the downloaded API Key file, and click **Open**.

9. Retry your iOS deployment.

![](../../assets/20250430121336383410.gif)

:::note
If the error persists after completing these steps, contact FlutterFlow support via in-app messenger or email at [[email protected]](mailto:[email protected]).
:::
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"label": "iOS Signing"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
keywords: ['connect', 'download', 'store']
slug: /download-dsym-file-from-app-store-connect
title: Download dSYM File from App Store Connect
---

# Download dSYM File from App Store Connect

To download the dSYM file from the App Store Connect Developer Console, follow these steps.

:::info[Prerequisites]
- Access to your Apple Developer account.
- Your app has at least one build uploaded to App Store Connect.
:::

**Steps to Download the dSYM File:**

1. **Sign in** to **[App Store Connect](https://appstoreconnect.apple.com/)** with your Apple Developer account.
2. Open your app.
3. Select a build from the **TestFlight** tab on your project page.
4. Open the **Build Metadata** tab.
5. Under **Include Symbols**, download the dSYM file.

![](../../assets/20250430121257965718.png)

:::note
The dSYM file is only available for builds that have been successfully uploaded to App Store Connect and are in a "processing" or "ready for submission" state.
:::

If the **Download dSYM file** link is not visible, it indicates that the build submission did not complete successfully. In this case:

1. Redeploy the build to the App Store.
2. After successful processing, return to the **Build Metadata** tab and download the dSYM file.

![](../../assets/20250430121258232331.png)
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
keywords: ['requires', 'sign', 'team']
slug: /imagenotification-development-team-error
title: ImageNotification Development Team Error
---

# ImageNotification Development Team Error

This error occurs when the **ImageNotification** entitlement is missing in your Apple Developer account. To resolve it, create a new Identifier for `ImageNotification` in your Apple Developer account.

:::info[Prerequisites]
- Access to your **Apple Developer account**.
- Permission to manage **Certificates, Identifiers & Profiles**.
:::

**Steps to Create the Identifier:**

1. Sign in to your **[Apple Developer account](https://developer.apple.com/)**.
2. Navigate to **Certificates, Identifiers & Profiles**.
3. Select **Identifiers**.
4. Click the **Add (+)** button.
5. Choose **App IDs** and click **Continue**.
6. Under **Type**, select **App** and click **Continue**.
7. In the **Description** field, enter `ImageNotification` (case-sensitive).
8. In the **Bundle ID** field, enter your full bundle ID followed by `.ImageNotification` (for example: `com.example.app.ImageNotification`).
9. Click **Continue** and then **Register** to complete the setup.

Once this Identifier is added, the signing process should proceed without requiring a development team selection.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"label": "Publishing"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
keywords: ['configuration', 'connect', 'domain']
slug: custom-domain-connection-error
title: Custom Domain Connection Error
---

# Custom Domain Connection Error

If you encounter the error shown below after clicking **Connect**, follow these steps to resolve it:

![](../../assets/20250430121243410633.png)

:::info[Prerequisites]
- Access to your domain registrar or DNS provider dashboard.
- DNS management permissions to add or modify DNS records.
:::

**Steps to Resolve the Error:**

1. **Verify DNS Records**

- Ensure that you have correctly configured the DNS records required for your custom domain connection.
- Add the keys provided by FlutterFlow to your domain’s DNS settings.

:::note
For A records, if your DNS provider requires a name, you can use `"@"`. When you see an empty value, it typically refers to `"@"`.
:::

![](../../assets/20250430121243684493.png)

2. **Check for Conflicting Records**

- Review your DNS configuration to ensure there are no extra or unnecessary records that conflict with the FlutterFlow-provided keys.
- For example, if you already have an A record using `"@"`, remove it to avoid conflicts.

:::note
Before removing any existing DNS records, take screenshots and save them for reference.
:::


Below are examples of correct configurations in FlutterFlow and your DNS provider:

![](../../assets/20250430121243982678.png)

![](../../assets/20250430121244255037.png)

By following these steps, you can ensure your custom domain is connected correctly.
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
keywords: ['error', 'custom', 'domains']
slug: custom-domain-connection-issues
title: Custom Domain Connection Issues
---

# Custom Domain Connection Issues

This article provides solutions for common problems encountered when connecting custom domains.

:::info[Prerequisites]
- Access to your domain registrar or DNS provider dashboard.
- DNS management permissions to add or modify DNS records.
- Familiarity with DNS record types (A, CNAME, CAA).
:::

**Steps to Resolve DNS Record Errors:**

1. **Verify DNS Records**

- Use tools like **[nslookup.io](https://www.nslookup.io)** to verify that your DNS A and CNAME records match the configuration provided in FlutterFlow.
- Ensure no conflicting A, AAAA, or CNAME records exist.

![](../../assets/20250430121150651702.png)

2. **Allow Time for DNS Propagation**

- DNS updates may take up to 24 hours.
- Wait at least one hour after making changes before attempting to reconnect your domain.

3. **Retry Connection**

- After verifying DNS settings and allowing propagation, attempt to reconnect your domain.

4. **Contact Registrar Support If Necessary**

- If settings are correct and the issue persists after 48 hours, contact your domain registrar to confirm DNS configuration.

**Handling Difficulty Creating DNS Records:**

- Different registrars require different formats for DNS record names:
- For root domains (e.g., `example.com`), some require an empty name, others `"@"`, or the full domain name.
- For subdomains (e.g., `test.example.com`), some require just `"test"`, others `"test.example.com"`.
- Consult your registrar’s documentation for exact instructions.

**Resolving 404 Errors After Domain Connection:**

- Publish the project again after connecting the domain.
- This usually resolves most 404 errors related to domain connections.

**Fixing DNS Restrictions for SSL Certificates:**

1. **Check for CAA Records**

- Use **[nslookup.io](https://www.nslookup.io/domains/your-site-name/dns-records/caa/)** (replace `your-site-name` with your domain) to check CAA records.

2. **Adjust CAA Records**

- Add `"letsencrypt.org"` to your allowed certificate authorities.
- Remove any conflicting CAA records.

:::note
Once CAA records allow `"letsencrypt.org"`, FlutterFlow will be able to generate SSL certificates and complete the domain connection.
:::

If issues persist after following these steps, contact FlutterFlow support via Live Chat or email at [[email protected]](mailto:[email protected]).
Loading