Skip to main content

iOS App Store

Guide to publishing on the iOS/App Store.

Written by Sofia Maconi

To publish an app built with Bubble for native mobile apps on the App Store, you need an Apple Developer account and an app record in App Store Connect. Bubble then connects to your Apple account, builds your app, and delivers each build to App Store Connect for you.

Most of the setup happens in a guided flow in the Bubble editor. It walks you through each step and links you to the right page in Apple's tools whenever you need to do something there.

Before you start

Join the Apple Developer Program

To build and publish an iOS app, you need to be a member of the Apple Developer Program.

Annual fee: Apple charges an annual fee to keep your developer account active. The fee is set and managed by Apple, independent of Bubble. See the Apple Developer Program page for current pricing.

Apple Developer and App Store Connect

You'll use two of Apple's tools during setup:

Tool

What it's for

Your developer account. This is where you register your app's Bundle ID, manage certificates, and create keys, in the Certificates, Identifiers & Profiles section.

Where you manage your apps on the App Store: create app records, test builds with TestFlight, submit apps for review, and view analytics.

In short, Apple Developer is where you prepare your app, and App Store Connect is where you submit and manage it. It can help to have both open in separate browser tabs while you set up your app.

Terminology: This article uses terms that are specific to publishing on the App Store. See the article below for a full terminology table.

Connecting your app to the App Store

You connect your Bubble app to your Apple account in the Settings tab, under Native mobile, in the Apple app store section.

The section is set up as a series of panels, one for each part of the setup. Each panel shows its status, such as Not started or Verified, so you can see what's left to do. Next to each panel, a guide shows where to find what you need in Apple's tools, with screenshots and a direct link to the right page.

1. Open the Apple app store settings

Go to the Settings tab, and under Native mobile, open the Apple app store section.

2. Add your App Store Connect API key

The API key lets Bubble connect to your Apple account, so it can read your Bundle IDs and upload your builds. Create the key in App Store Connect, then add it in the App Store Connect API key panel. See Creating an App Store Connect API key below.

3. Choose your Bundle ID

In the Bundle ID panel, select your app's Bundle ID from the dropdown. Bubble suggests a Bundle ID based on your app's name.

If the Bundle ID isn't registered with Apple yet, click Register bundle ID and register it in your Apple Developer account. Then click Refresh list and select it. See Registering a Bundle ID below.

4. Create your App Store app

Bubble can't create your App Store listing for you, so this step happens in App Store Connect. The Create your App Store app panel shows the app name and Bundle ID to use, each with a copy button.

Open App Store Connect: Click Open App Store Connect.

Create a new app: Go to Apps, click the + button, and select New App.

Fill in the details:

Field

What to enter

Platforms

Select iOS.

Name

The name your app will have on the App Store. You can use the name shown in Bubble.

Primary Language

The main language of your app.

Bundle ID

Select the Bundle ID shown in Bubble.

SKU

A unique internal ID for your app. It isn't shown to users.

User Access

Choose who on your Apple team can access the app.

Create: Click Create to create the app.

Confirm in Bubble: Go back to Bubble and click I've created it.

Bubble looks up the app in your App Store Connect account. When it finds it, you'll see a banner confirming that your Bubble app is connected to the App Store.

5. Set up the remaining options

Once your app is connected, new panels appear for features you can set up next:

Panel

What it's for

Apple push notification service

Sending push notifications to your users. See Push notifications.

Universal Links

Opening links to your app directly in the app instead of the browser.

Enable Sign in with Apple

Letting users log in with their Apple account.

Web and Android (optional)

Connecting your app to your web app and Android app.

You only need to set up the features your app uses.

Creating an App Store Connect API key

The API key is a secure credential that lets Bubble work with your App Store Connect account on your behalf, for example to upload your builds. The key consists of three parts: a private key file (.p8), a Key ID, and an Issuer ID.

Treat your private key like a password, and store it in a secure place. Apple only lets you download the key file once.

API keys can be created for a whole team (a Team Key) or for one person (an Individual Key):

Key type

When to use it

Team Key

When several people on your Apple team need access. Only the Account Holder can create and manage Team Keys. In an organization account, this may be the only option.

Individual Key

When you work on your own, and the key only needs to be tied to your account.

1. Open the API keys

In App Store Connect, go to Users and Access, open the Integrations section, and select the Keys tab.

2. Generate a new key

Click Generate API Key, or the + button if you already have keys.

Give the key a name and set its access to Admin.

If you're on a team account, the Account Holder may need to approve the request before you can generate API keys.

3. Download the key and copy the IDs

Download the .p8 key file and store it securely. You can't download it again after you leave the page.

Then copy the Key ID and the Issuer ID shown on the page.

4. Add the key in Bubble

In the App Store Connect API key panel in Bubble, enter the Key ID and Issuer ID, and upload the .p8 file. When the key is accepted, the panel shows it as Verified.

Registering a Bundle ID

A Bundle ID is a unique string that identifies your app across Apple's systems, such as com.yourcompany.yourappname. Your app needs one before you can create it in App Store Connect.

1. Open Identifiers

In your Apple Developer account, go to Certificates, Identifiers & Profiles and select Identifiers.

You can also click Register bundle ID in Bubble to go straight there.

2. Create a new identifier

Click the + button next to Identifiers.

Select App IDs and click Continue.

Then select App and click Continue again.

3. Enter a description and Bundle ID

Enter a description that makes it easy to recognize the app, and select Explicit for the Bundle ID. Then enter the Bundle ID. It's a good idea to use the one Bubble suggested.

4. Register

Click Continue, review the details, and click Register.

5. Select it in Bubble

Go back to Bubble, click Refresh list in the Bundle ID panel, and select your new Bundle ID.

A Bundle ID can only contain letters, numbers, hyphens (-), and periods (.), and usually follows the reverse-domain format, like com.yourcompany.yourappname.

Don't create a distribution certificate by hand before you build your app. Bubble creates one for you, and an existing certificate can cause conflicts that stop the build from completing. See the expandable below for details.

Managing distribution certificates for iOS builds

Bubble creates a distribution certificate automatically as part of the iOS build. If you create one by hand beforehand, it can cause conflicts that stop the build from completing.

Apple limits how many active distribution certificates an account can have:

Program

Maximum active distribution certificates

Apple Developer Program

3

Apple Developer Enterprise Program

2

Bubble needs one free slot to create the certificate for your build. If your account has already reached the limit, revoke a certificate you no longer use before you build:

  1. Sign in to your Apple Developer account.

  2. Go to Certificates, Identifiers & Profiles.

  3. Open the Certificates section.

  4. Look for existing certificates of the type Apple Distribution.

  5. If you've reached the limit, revoke an unused certificate.

Deploying

In Bubble, deploying your mobile app means generating a build: the packaged version of your app's code and assets. When you deploy, Bubble creates the build, applies your app settings like icons and splash screens, and sends the build to App Store Connect for you.

There are two build types:

Build type

What it's for

New build

Creates a new build that's sent to App Store Connect, for TestFlight testing or App Store review. Your first deployment has to be a new build.

OTA (over-the-air) update

Sends smaller updates straight to users' devices, without a new App Store review. See Updates.

When your app is set up and you're ready, click Deploy. The build can take up to 45 minutes. When it's uploaded, Bubble sends you a confirmation email. If the build fails, you'll get an email with details about the error.

Testing with TestFlight

TestFlight is Apple's beta testing platform. It lets you share your app with testers before it's released on the App Store. Testers install your app through the TestFlight app and use it like any other app, and they can send feedback and report issues along the way.

1. Find your build

In App Store Connect, go to Apps, select your app, and open the TestFlight tab.

Your build may take a few minutes to appear, since Apple needs to process it first. Apple sends you an email when it's ready. If the build doesn't show up after a while:

  • Refresh the page.

  • Check that your app uses the right Bundle ID.

  • Check in Bubble that the build was completed and sent.

2. Add testing information

Select your build and fill in the testing information, like what testers should focus on and any known issues. Testers see this in the TestFlight app.

3. Set up internal testing

Internal testers are members of your App Store Connect team. They can test your app without a review from Apple.

  1. In App Store Connect, go to Users and Access and check that each tester has a suitable role, such as Developer or App Manager.

  2. In the TestFlight tab, add the testers to your build.

They'll get an email with a link to install the app through TestFlight.

Before your build can be tested, Apple asks a few export compliance questions. See Export compliance questions for how to answer them.

4. Set up external testing (optional)

To share your app with people outside your team, like early users or clients:

  1. In the TestFlight tab, add a group of external testers.

  2. Submit your build for Beta App Review. This review is lighter than the full App Store review, but it checks basic functionality and compliance with Apple's guidelines.

  3. Once the build is approved, invite testers by email or share a public TestFlight link.

5. Collect feedback and iterate

Testers can send feedback and screenshots through TestFlight, and crashes are reported automatically. You can see all of it in the TestFlight tab.

When you've made changes in Bubble, deploy a new build or an OTA update. New builds show up in the TestFlight tab, and you can test several builds at the same time.

Review

Submitting your app for review

Once your build is in App Store Connect and you've tested it, you can submit it for Apple's App Review. Apple checks that your app meets its guidelines for performance, security, content, and functionality.

To submit, open your app in App Store Connect, select your build for the version you want to release, and fill in the required information, such as screenshots, a description, and a support URL. Then submit the version for review.

Reviews usually take from a few hours to a couple of days. Apple emails you when your app is approved, or if there are issues to fix. To avoid common problems, read Apple's App Review Guidelines before you submit.

Export compliance questions

After your build appears in App Store Connect, Apple shows a warning next to the build number with a Manage button. Click it to answer the required export compliance questions.

When asked what type of encryption algorithm your app uses, None of the above is the right answer for most Bubble apps, since they rely on the standard encryption built into the operating system. If you've added your own encryption, for example through a plugin or custom code, you may need to choose a different option. If you're unsure, see Apple's export compliance documentation.

You'll also be asked whether your app will be available in France, because of France's regulations on encryption. You need to answer this regardless of how your app uses encryption.

Resubmitting your app

If you need to submit a new build after a review, for example to fix an issue Apple found:

1. Deploy a new build

In the Bubble editor, deploy a new build, and wait until it's completed.

2. Remove the old build

In App Store Connect, open the version you're submitting, hover over the old build, and click the delete icon to remove it from the version.

3. Select the new build

In the build section of the version, add your new build.

4. Resubmit

Click Submit for Review.

Publishing

When your app passes review, you can release it on the App Store. You choose how when you submit for review:

Release option

How it works

Automatic

Your app goes live as soon as Apple approves it.

Manual

Your app waits until you release it. In App Store Connect, open the version and click Release This Version when you're ready.

Once it's live, your app can be downloaded from the App Store in the countries and regions you've selected.

Updates

After your app is live, you'll likely want to update it, whether to fix bugs, improve performance, or add features. There are two ways to update your app:

Update type

Best for

How it works

OTA (over-the-air) update

Small changes, like bug fixes, text changes, and minor design tweaks

Bubble sends the update straight to your users. No App Store review is needed, and users get the update the next time they open the app.

New build

New features, bigger changes, and anything Apple needs to review

Bubble creates a new build and sends it to App Store Connect. You submit it for review, just like your first release.

Versioning your app

Each time you deploy a new build, you choose a release type, which sets the version number, such as 1.1 or 2.0. OTA updates don't change the version number, since they update the version users already have.

You can see your version history in App Store Connect.

Testing new versions

Only one version of your app can be live on the App Store at a time, but you can test several builds in TestFlight at once. For example, you can share a new build with a group of testers while your current version stays live.

Push notifications

The key file and Key ID in this section are sensitive credentials. Store them securely, as you would passwords or API keys.

To send push notifications, you need to turn on push notifications for your app's Bundle ID, create an APNs (Apple Push Notification service) key, and add the key to Bubble.

Turn on push notifications for your Bundle ID

1. Open your Bundle ID

In your Apple Developer account, go to Certificates, Identifiers & Profiles, select Identifiers, and click your app's Bundle ID.

2. Turn on push notifications

In the list of capabilities, find Push Notifications and check the box. Then save your changes.

Don't click Configure. That creates certificates you don't need, since the APNs key replaces them.

Create an APNs key

1. Create a new key

In Certificates, Identifiers & Profiles, go to Keys and click the + button.

2. Name the key and select the service

Enter a name for the key, and select Apple Push Notifications service (APNs).

3. Configure and register

Click Configure, set the environment to Sandbox and Production, and save.

Then click Continue and Register.

4. Download the key

Download the key file (.p8) and note the Key ID shown on the page.

You can only download the key once, so store it in a secure place right away.

One APNs key works for all the apps on your Apple team, so you only need to create it once.

Add the key to Bubble

1. Open the push notification settings

Go to the Settings tab, and under Native mobile, open the Apple app store section. Open the Apple push notification service panel.

2. Enter the key details

Enter your APNs Key ID, and upload the .p8 key file.

To publish your app on Android too, see Google Play Store.

Did this answer your question?