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.
Article: Native mobile app terminology
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
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:
Sign in to your Apple Developer account.
Go to Certificates, Identifiers & Profiles.
Open the Certificates section.
Look for existing certificates of the type Apple Distribution.
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.
In App Store Connect, go to Users and Access and check that each tester has a suitable role, such as Developer or App Manager.
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:
In the TestFlight tab, add a group of external testers.
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.
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
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.



















