Bubble Docs
  • Introduction
  • New? Start Here
  • What is Bubble?
  • The Glossary
  • User manual
    • Getting started
      • What is Bubble?
      • Building your first app
        • Planning features
        • Database structure
        • Design and UX
        • eCommerce and payments
          • Shopping cart
          • Checkout page
          • One-time payments
          • Subscriptions
          • Marketplace
      • Creating and managing apps
      • The Bubble editor
        • Tabs and sections
          • Design tab
            • The element tree
            • The property editor
          • Workflow tab
          • Data tab
          • Styles tab
          • Plugins tab
          • Settings tab
            • Application settings
              • Custom headers/body
              • Visual settings
              • Social media sharing
              • Translating your app
              • Email settings
              • Collaboration
            • Custom domain and DNS
          • Logs tab
        • Tools
          • Key features
          • The search tool
          • The Issue Checker
          • The element tree
          • The element property editor
          • The debugger
          • Notes
        • Previewing your app
      • Transitioning to Bubble from...
        • JavaScript
        • HTML and CSS
        • SQL
    • Design
      • Elements
        • The element hierarchy
          • The element tree
        • The page
        • Containers
          • Groups
          • Repeating groups
          • Table elements
          • Popups
          • Floating groups
          • Group focus
        • Visual elements
        • Input forms
          • Text and numbers
          • Dates and time
          • File uploads
          • Selection controls
        • Reusable Elements
      • Styling
        • Color variables
        • Font variables
        • Styles
        • Custom Fonts
      • Responsive design
        • Building responsive pages
        • Legacy articles
          • The Basics (Legacy)
          • Building Responsive Pages (Legacy)
          • Migrating Legacy Pages
          • Tips When Designing (Legacy)
      • Templates
      • The Component Library
      • Importing from Figma
    • Data
      • The database
        • Data types and fields
        • Creating, saving and deleting data
        • Finding data
        • Displaying data
        • Protecting data with privacy rules
        • The database editor
        • Export/import data
          • Exporting data
          • Importing data (CSV)
        • Working with location data
        • Using Algolia
        • Database structure by app type
          • Marketplace Apps
          • Directory & Listings Apps
          • Social Network Apps
          • SaaS Apps
          • Project Management Apps
          • CRM Apps
          • Professional Services Apps
          • On-demand Apps
          • Documentation/ CMS Apps
          • Applicant Tracking System (ATS) Apps
          • Portfolio Apps
          • Gallery Apps
          • Online Store / Ecommerce Apps
          • Blog Apps
          • Messaging App
          • Dashboards
          • Building Block Apps
          • Bubble as a backend
      • Files
      • Images
      • Static data
        • App texts (translations)
        • Option sets
      • Temporary data
        • Custom states
        • URL parameters
      • User accounts
        • Authentication plugins
          • Facebook plugin
          • Fitbit plugin
          • Google plugin
          • Instagram plugin
          • LinkedIn plugin
          • Pinterest plugin
          • Slack plugin
          • Wistia plugin
          • YouTube plugin
        • Cookies set by Bubble
      • Time, dates and time zones
    • Logic
      • The frontend and backend
      • Workflows
        • Events
          • Frontend events
            • Recurring workflows
            • Custom events
          • Backend events
            • Database trigger events
        • Actions
        • API Workflows
      • Dynamic expressions
      • Conditions
      • Navigation
        • Single-page applications (SPA)
        • Multi-page applications
        • Page slugs
    • Workload
      • Understanding workload
        • Activity types
        • The workload calculation
        • Client-side and server-side processing
      • Tracking workload
        • Measuring
          • Using App Metrics
        • Monitoring
          • Workload notifications
          • Infinite recursion protection
      • Optimizing workload
        • Optimization framework
        • Optimization checklist
          • Page load
          • Searches
          • Workflows and actions
          • Backend workflows
        • Agency showcases
          • Minimum Studio
          • Neam
          • Support Dept
    • Security
      • Bubble's security features
      • Planning app security
      • Client-side and server-side
      • Bubble account security
      • App security
      • Page security
      • Database security
      • API security
        • API Connector security
        • Data API security
        • Workflow API security
      • Flusk
        • Overview
        • Flusk plan features
        • Getting started with Flusk
        • Flusk security tools
          • The Issues Explorer
          • Issue details
          • Tools and settings
            • Pages rating
            • Database rating
        • Flusk FAQ
      • Cookies
      • Security checklist
    • Publishing your app
      • Web app
      • Native mobile app
        • Global native mobile settings
        • iOS App Store
        • Google Play Store
        • Publishing FAQ
    • AI
      • Generate apps with AI
        • About AI app generation
      • AI page designer
      • Connect to AI agents
    • Maintenance
      • Collaborators
      • Version control
        • Best practices: Version control
        • Transitioning from the legacy version control
        • Terminology: Version control
        • Version Control (legacy)
      • Commenting
      • Database maintenance
        • Copying the database
        • Restoring database backups
        • Bulk operations
          • Bulk operation methods compared
        • Wiping change history
      • Performance
        • Hard limits
        • Capacity Usage (legacy)
        • Notes on queries
      • SEO
        • Introduction to SEO
        • SEO: App
        • SEO: Page
      • Testing and debugging
        • Introduction to testing and debugging
        • The debugger
        • The server logs
        • Supported browsers
      • API workflow scheduler
    • Integrations
      • API
        • Introduction to APIs
          • What is a RESTful API?
        • The Bubble API
          • Bubble API terminology
          • Authentication
            • How to authenticate
            • No authentication
            • As a User
            • As an admin
          • The Data API
            • Data API Privacy Rules
            • Data API endpoints
            • Data API requests
          • The Workflow API
            • Workflow API privacy rules
            • Workflow API endpoints
            • API workflows
              • Creating API workflows
              • Scheduling API workflows
              • Recursive API workflows
              • API Workflow Scheduler
              • Case: Stripe notifications
        • The API Connector
          • Authentication
          • API Connector security
          • API guides
            • OpenAI
              • Authentication
              • Calls
                • ChatGPT
                  • Chat
            • Google Translate
              • How to setup Google API keys
          • Streaming API
        • API security
        • Plugins that connect to APIs
        • API Glossary
      • Plugins
        • What Plugins Can Do
        • Installing and using Plugins
        • Authentication plugins
        • Special Plugins
      • SQL Database Connector
      • Bubble App Connector
      • WorkOS
        • WorkOS SSO
        • WorkOS API
    • Infrastructure
      • Sub-apps
      • Bubble release tiers
      • Hosting and scaling
        • How Bubble hosting works
        • Scaling with Bubble
        • CDN (Cloudflare)
        • Bubble app names
        • Domain and DNS
      • Compliance
        • GDPR
        • SOC 2 Type II
        • HIPAA
        • Other frameworks and standards
    • Bubble for Enterprise
      • Hosting and infrastructure
        • Dedicated instance
          • The Dedicated editor experience
          • Technical specs
          • Main cluster dependencies
          • Customizable options
          • Migration process
            • Pre-migration
            • During migration
            • Post-migration
      • Security and compliance
        • Single sign-on (SSO)
        • GDPR
        • SOC 2 Type II
        • HIPAA
        • Other frameworks
        • Bubble's security features
      • Admin and collaboration
      • Priority support
      • Billing and Payment Guideline for Dedicated Instances
  • Core Reference
    • Using the core reference
    • Bubble's Interface
      • Design tab
      • Design tab (Legacy)
      • Workflow tab
      • Data tab
      • Styles tab
      • Styles tab (Legacy)
      • Plugins tab
      • Settings tab
      • Logs tab
      • Template tab
      • Toolbar
      • Top and context menu options
      • Deployment and version control
        • Deployment & Version Control Dropdown (legacy)
      • Notes
    • Elements
      • General properties
      • General properties (Legacy)
      • Styling properties
      • Styling Properties (Legacy)
      • Responsive Properties
      • Responsive Properties (Legacy)
      • Conditional formatting
      • States
      • Page Element
        • Page Element (Legacy)
      • Visual Elements
      • Containers
      • Container Layout Types
      • Containers (Legacy)
      • Input Forms
      • Reusable Elements
      • Element Templates (legacy)
    • Workflows
    • Events
      • General events
      • Element events
      • Custom events
      • Recurring event
      • Database trigger event
    • Actions
      • Account
      • Navigation
      • Data (things)
      • Email
      • Element
      • Custom
    • Data
      • Data Sources
      • Operators and comparisons
      • Search
      • Privacy
    • Styles
    • API
      • The Bubble API
        • The Data API
          • Authentication
          • Data API endpoints
          • Data API requests
        • The Workflow API
      • The API Connector
        • Authentication
        • Adding calls
    • Bubble-made Plugins
      • AddtoAny Share Buttons
      • Airtable
      • API Connector
      • Blockspring
      • Box
      • Braintree
      • Bubble App Connector
      • Chart.js
      • Circle Music Player
      • Draggable Elements
      • Dropzone
      • Facebook
      • Fitbit
      • Full Calendar
      • Google
      • Google Analytics
      • Google Optimize
      • Google Places
      • Ionic Elements
      • iTunes
      • Slidebar Menu
      • LinkedIn
      • Localize Translation
      • Mixpanel
      • Mouse & Keyboard Interactions
      • Multiselect Dropdown
      • Progress Bar
      • Rich Text Editor
      • Rich Text Editor (Legacy)
      • Screenshotlayer
      • SelectPDF
      • Slack
      • Segment
      • Slick Slideshow
      • SQL Database Connector
      • Star Rating
      • Stripe
      • Tinder-like Element
      • Twitter
      • YouTube
      • Zapier
    • Application Settings
      • App plan
      • General
      • Domain / email
      • Languages
      • SEO / metatags
      • API
      • Collaboration
      • Sub-apps
      • Versions
  • Account & Marketplace
    • Account and billing
      • Pricing and plans
        • Plans and billing
        • Billing cycle
        • FAQ: Pricing and Workload
      • Account Management
      • Building Apps for Others
      • Selling on the Marketplace
      • Plans & Billing (legacy)
    • Official Bubble Certification
      • Hiring certified developers
    • Building Plugins
      • The Plugin Editor
      • General Settings
      • Updating to Plugin API v4
      • Adding API Connections
      • Building Elements
      • Building Actions
      • Loading Data
      • Publishing and versioning
      • Github Integration
    • Building Templates
    • Application and data ownership
    • Marketplace policies
    • Bug reports
  • Vulnerability Disclosure Policy
  • Beta features
    • About the Beta features section
    • Native mobile apps 🔒
      • Introduction
        • What is a native mobile app?
        • Native mobile vs. web development
        • Differences in native and web elements
        • Native mobile app terminology
      • Building
        • Views and navigation
        • Native mobile actions
        • Components and gestures
        • Device resources
          • Location services
          • Camera/photo library
      • Previewing
      • Publishing
Powered by GitBook
On this page
  • Apple Developer Program
  • What is App Store Connect?
  • Differences between Apple Developer and App Store Connect:
  • Preparing
  • Step 1: Generate a Bundle ID for iOS
  • Step 2: Create a Private Key / Key ID
  • Step 3: Create a Project
  • Step 4: Connect to App Store Connect
  • Step 5: Permissions and Integrations (Optional)
  • Deploying
  • Testing
  • Using TestFlight
  • Review
  • Submission process
  • Resubmitting your app
  • Publish
  • Releasing on iOS App Store
  • Updates
  • Update Types: OTA vs New Build
  • Versioning Your App
  • Managing Multiple Live Versions

Was this helpful?

  1. User manual
  2. Publishing your app
  3. Native mobile app

iOS App Store

Last updated 1 day ago

Was this helpful?

Apple Developer Program

To build and publish an iOS app, you must enroll in the Apple Developer Program. You can sign up for an account .

Annual fee: Apple requires an annual payment of $99 to maintain your developer account. This fee is set and managed by Apple, independent of Bubble.

Once your Apple Developer account is set up, you must create and configure a project in .

What is App Store Connect?

App Store Connect is Apple’s platform for managing your iOS apps, this is where you can configure your app metadata, submit builds for review, track performance, and manage your account.

Differences between Apple Developer and App Store Connect:

  • Apple Developer is the broader platform for developers, where you sign up for the Apple Developer Program (required to publish apps) and access tools like APIs, and developer documentation. It also includes Certificates, Identifiers & Profiles for app signing and provisioning.

  • App Store Connect is the platform specifically used for managing and distributing apps on the App Store. It’s where you create app listings, upload builds, manage TestFlight testing, view analytics, and submit apps for review.

In other words, Apple Developer is where you prepare and sign your app, while App Store Connect is where you submit and manage it on the App Store.

Throughout this guide we will be setting up and utilizing both to connect our Mobile app, so please have them open in separate tabs.

Terminology guide: Throughout this guide we use terminology specifically related to publishing apps in the iOS app store. Please see the article below for a comprehensive terminology table.

Article:

Preparing

Step 1: Generate a Bundle ID for iOS

An identifier is a unique string used to distinguish your app from others within Apple's ecosystem. In iOS development, the most important identifier is the Bundle ID, which is required for app submission, provisioning, and integration with Apple services.

1️⃣ Sign in to Apple Developer

2️⃣ Open Identifiers

3️⃣ Create a New Identifier

This is where we create the new identifier.

  1. Click the + button to add a new identifier.

  2. Choose App IDs as the identifier type and click Continue.

  3. Select App then click Continue.

4️⃣ Enter App Details

Provide a description for the identifier that makes it easy to recognize which app you are setting it up for. Then, manually define your Bundle ID.

Choose one of the following formats:

  • Explicit Bundle ID (e.g., com.yourcompany.yourappname) – used when you're registering one specific app.

  • Wildcard Bundle ID (e.g., com.yourcompany.*) – used when you want to register multiple apps that share the same base identifier.

Note: The Bundle ID must use only letters, numbers, hyphens (-), and periods (.) and follow the reverse-DNS format (e.g., com.yourcompany.yourapp).

Be sure to use descriptive names or wildcard Bundle IDs for easy management, especially if you plan to have multiple apps in the App Store.

For example, for our individual app, we might use com.bubble.workplacedemo

Do NOT manually create a distribution certificate before building, as this can lead to conflicts that prevent the build to complete successfully. See more information in the expandable box below.

Managing Distribution Certificates for iOS Builds

When building a native iOS app with Bubble, it’s important to properly manage your Apple distribution certificates to ensure a smooth build process.

Do not manually create a distribution certificate before building

Bubble automatically generates a distribution certificate as part of the iOS build process. Manually creating one beforehand can lead to conflicts that prevent the build from completing successfully.

Ensure you have an available distribution certificate slot

Apple enforces a limit on the number of active distribution certificates allowed per account:

  • Apple Developer Program (Standard): Maximum of 3 active distribution certificates

  • Apple Developer Enterprise Program: Maximum of 2 active distribution certificates

Bubble needs one available certificate slot to generate the necessary certificate for your build. If your account has already reached the maximum number of distribution certificates, you will need to revoke an existing one before initiating the build process.

How to check and manage distribution certificates

To review and manage your distribution certificates:

  1. Navigate to Certificates, Identifiers & Profiles.

  2. Click on the Certificates tab.

  3. Under Type, look for any existing Apple Distribution certificates.

  4. If you have reached the limit, revoke an unused certificate to free up a slot for Bubble to create a new one.

5️⃣ Confirm and Register

Once you've reviewed your submission, click 'Register' to complete the process. You have now successfully created an identifier for your app with a Bundle ID.

Step 2: Create a Private Key / Key ID

Creating a Private Key / Key ID refers to generating a secure authentication key within App Store Connect.

This key is used to authorize API access for managing app-related tasks, such as submitting builds, managing users, and retrieving analytics.

The Private Key (.p8 file) is a confidential credential, while the Key ID is an identifier associated with it.

Security: Treat your private key like a sensitive credential and store it securely. Also, keep a secure backup to avoid development interruptions.

1️⃣ Create a New API Key

Next, navigate to the Integrations sub-section, and find the Keys tab.

In App Store Connect, API keys can be created at either the team level (Team Key) or for individual accounts (Individual Key). A Team Key is used when multiple members need access to App Store Connect APIs, allowing team-wide authorization.

Only the Account Holder can generate and manage these keys, ensuring secure access control.

An Individual Key, on the other hand, is tied to a single developer’s account and is typically used when working independently.

However, if you’re part of an organization account, you may only have the option to generate a Team Key, as API access is managed centrally by the account owner.

Click Generate API Key where applicable

Assign Admin Access

Provide admin access to the new API key.

Note: If using a team account, the account holder must approve the request to generate API keys.

Download and Save the Key

Download the .p8key file. You cannot download it again after leaving the page, so be sure to store it securely.

Copy Issuer and Key IDs

After creating the key, you will see an Issuer ID and Key ID. Keep these accessible for later use.

Upload Private Key (.p8 key file)

Step 3: Create a Project

In App Store Connect, a "project" typically refers to the bundle of your app’s code and settings that you manage and submit to the App Store. It's associated with your app's bundle ID and is linked to an App Store Connect app record, where you manage app metadata, builds, pricing, and distribution.

  1. Click on My Apps and then click the + button to select New App.

  2. Enter app details:

    1. Name: The name your app will display on the App Store.

    2. Primary Language: Select the main language your app will support.

    3. Bundle ID: Select the Bundle ID you previously created in Apple Developer.

    4. SKU: A unique internal identifier for your app, which will not be displayed publicly. Click Create to finalize your app project.

Step 4: Connect to App Store Connect

After setting up your project, Bubble will automatically deliver your build to App Store Connect when you deploy.

Make sure to securely save your Bundle ID and API keys, as they’re essential for submitting your app. With everything in place, you’ll be ready to launch your Bubble app on iOS and move forward with the App Store submission.

Step 5: Permissions and Integrations (Optional)

Ensure that the file and ID mentioned in the guide below are stored securely. They should be considered sensitive data similar to login credentials and API keys.

Push Notifications (Optional)

Go to Apple Developer Console

To successfully send push notifications, do the following:

  • Navigate to Certificates, IDs & Profiles and then Identifiers.

  • Select the relevant app in the list of identifiers.

    • You will see a list of different capabilities.

  • Scroll down to Push Notifications and click Configure to set it up.

Getting your APNS Key and Key ID

  1. Navigate to Certificates, Identifiers & Profiles.

  2. Under the Keys section, click the + button to create a new key.

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

  4. Click Continue, then Register.

Download your key file (.p8) immediately.

  1. Important: This file can only be downloaded once.

  2. Make note of the following details:

    1. Key ID: Displayed on the key configuration page.

    2. Private key: The .p8 file you downloaded.

Store this key securely, as it is sensitive.

  • Unlike the older certificate-based method, a single APNs key can be used across all your apps within your team.

App settings

Enter the Key ID

  • Open your Bubble app and go to the Settings – Mobile.

  • Scroll to the Apple Push Notifications service section.

  • Enter the APNs key ID into the field with the same name.

Upload the APNs key

  • Open your Bubble app and go to the Settings – Mobile.

  • Scroll to the Apple Push Notifications service section.

  • Upload the APNs key file (.p8) in the APNs key field.

Deploying

In Bubble, deploying your mobile app means generating the final packaged version of your app’s code and assets — this is known as a build.

When you deploy, Bubble takes care of everything for you behind the scenes: it generates the build file, configures app settings like icons and splash screens, and automatically sends the build to App Store Connect.

When generating a build in Bubble, you'll notice there are different build types, such as OTA (Over-the-Air) and New Build.

For your first deployment, you can only choose New Build, as this creates a fresh build record that can be used for TestFlight testing or App Store submission. OTA is typically used later in the development process for pushing minor updates during internal testing.

Once you’ve finished setting up your app and are ready to generate a build, click Deploy.

Bubble will automatically package your app and submit the build to App Store Connect on your behalf.

The process can take up to 45 minutes, and occasionally, builds may fail. If that happens, you’ll receive an email with details about the error.

When the build is successfully uploaded, Bubble will send you a confirmation email.

Testing

TestFlight is Apple’s official beta testing platform that lets you distribute your iOS app to testers before it's released on the App Store. Testers install your app build through the TestFlight app, and use it like a regular app.

On TestFlight they can provide feedback or report bugs, helping you identify issues and improve the experience before launch.

Using TestFlight

Step 1: Log in to App Store Connect

  • Navigate to the TestFlight tab in the top menu.

Your build may take a few minutes to appear, as Apple needs to finish processing it (checking for basic compliance and compiling internal metadata). Apple will send you an email once it’s ready.

If you don’t see the build after some time:

  • Refresh the page

  • Check that the correct Bundle ID was used

  • Confirm in Bubble that the build was submitted

Step 2: Add Testing Information

Click on your new build, and fill out the required testing information:

  • What to Test: Describe the features that need review or are new.

  • Build Notes: Include known issues, what’s changed, or instructions.

  • This information will be shown to testers in the TestFlight app and helps guide meaningful feedback.

Step 3: Set Up Internal Testing

Internal testers are members of your App Store Connect team who can test without needing approval from Apple.

Note for TestFlight setup: Before your build becomes available for TestFlight testing, Apple will ask you to answer a compliance question about authentication and distribution in France. Unless your app uses a custom or non-standard authentication method, you can choose Standard Authentication to proceed.

To invite them:

  1. Go to the Users and Access section in App Store Connect.

  2. Ensure they have the appropriate role (usually “Developer” or “App Manager”).

  3. Back in the TestFlight tab, assign internal testers to the build.

They’ll get an email with a link to download the app via the TestFlight app.

Step 4: Set Up External Testing (Optional, but Powerful)

If you want people outside your team (like early users, beta testers, or clients) to try the app:

  1. Go back to the TestFlight tab and choose “Add External Testers.”

  2. You’ll need to submit your build for Beta App Review. This is a lighter review than a full App Store submission but still checks for basic functionality and compliance with Apple guidelines.

  3. Once approved, you can:

    1. Invite individual testers via email

    2. Or generate a public TestFlight link to share broadly

You can manage testers in groups or individually, and track installs and activity from this panel.

Step 5: Monitor and Gather Feedback

Testers will download the TestFlight app and install your beta app from there. They can:

  • Send feedback directly through TestFlight (including screenshots and written notes)

  • Report crashes or issues

  • Automatically provide session and usage data

You can view this data inside the TestFlight dashboard under your app’s build.

Step 6: Iterate and Re-Test

Based on tester feedback:

  • You can make updates in Bubble

  • Generate a new build or send OTA updates

  • Submit again via Bubble to App Store Connect

Each new build will appear in the TestFlight tab, and you can re-invite testers or assign it to new ones. TestFlight supports multiple active builds, so you can test different versions if needed.

🎉 You’re TestFlight is now ready

This process helps you fine-tune your app with real users before going live. Once you’re confident in the stability and experience, you’re ready to move on to your Review and Submission process.

Review

Submission process

Once your build is successfully uploaded to App Store Connect, the next step is to submit it for Apple’s App Review. This is a standard part of the iOS publishing process where Apple evaluates your app to ensure it meets their guidelines for performance, security, content, and functionality.

To start the review process, go to your app in App Store Connect, select the build you just uploaded, and submit it under the App Information > Version Release section. You’ll need to provide screenshots, a description, a support URL, and other required metadata before submitting.

Resubmitting your app

Resubmitting a build can be a bit tricky. Follow these steps:

  1. Rebuild your app

    1. Go to the Bubble editor and trigger a new build.

  2. Wait for the build to complete

    1. Make sure the build finishes before moving on.

  3. Delete the old build in App Store Connect

    1. Go to App Store Connect

    2. Hover over the old build

    3. Click the delete icon to remove it

  4. Find your new build

    1. Navigate to: Apps → Your App → Distribution → Build Section → Build Table

  5. Select the new build and resubmit

    1. Choose the new build from the list and click Submit for Review.

Publish

Releasing on iOS App Store

After your app passes Apple’s review, you’re ready to publish it to the App Store. You’ll have two options: manual release or automatic release. Manual gives you control over when the app goes live, while automatic releases it as soon as Apple approves it.

To publish manually, go to your app version in App Store Connect and click Release This Version when you're ready. If you choose automatic release during the review submission, your app will go live as soon as it's approved — no extra steps needed.

Once live, your app will be available to download via the App Store based on the availability settings (regions/countries) you selected. Congratulations — your Bubble app is officially published on iOS!

Updates

Now that your app is live on the App Store, you’ll likely need to update it — whether for bug fixes, performance improvements, or new features. In Bubble, you have two main update paths: OTA (Over-the-Air) and New Builds — and it's important to understand how versions work in both contexts.

Update Types: OTA vs New Build

OTA (Over-the-Air) Updates – Quick Changes

  • Ideal for minor bug fixes, text changes, and light UI tweaks.

  • No need to re-submit to the App Store — these updates are pushed instantly.

  • When you choose the OTA build type, Bubble deploys the update behind the scenes.

  • Users automatically receive the update the next time they launch the app.

New Builds – Major Releases

  • Required for new features, structural changes, API modifications, or anything Apple needs to review.

  • A New Build generates a fresh .ipa file, which Bubble sends to App Store Connect.

  • You'll need to submit this build for review just like your original launch.

  • Once approved, you can choose to release it manually or automatically.

Versioning Your App

Every time you create a New Build when you deploy, you’ll be prompted to pick a release type, which will create a version number (e.g., 1.1, 2.0).

  • Stick with semantic versioning (MAJOR.MINOR.PATCH) to keep things organized.

  • OTA updates typically don’t change your app version number — they apply to the existing version silently.

You can view and manage your version history in App Store Connect under your app’s "Activity" tab.

Managing Multiple Live Versions

Apple allows you to have multiple builds active for TestFlight, but only one live version of your app can be published on the App Store at a time.

However, you can:

  • Release different builds to different tester groups using TestFlight (e.g., staging vs production builds).

  • Keep older versions available via TestFlight while testing newer versions internally.

  • Use versioning internally in Bubble to test changes on a dev version before deploying to production.

Learn how to submit your app to the Google Play store here.

Go to and log in to your account.

Navigate to your account page and click on Identifiers in the menu bar.

Sign in to your Apple Developer Account at .

Navigate to then click on Users and Access

Go to and log in with your developer account.

Log in to your account.

Sign in to your Apple Developer account at.

Go to, click on My Apps, and select your app.

Once submitted, the review typically takes anywhere from a few hours to a couple of days, though this can vary. You’ll be notified by email as soon as your app is approved or if any issues need to be resolved. Be sure to review Apple’s to avoid common pitfalls.

here
App Store Connect
Native mobile app terminology
developer.apple.com
https://developer.apple.com/account
developer.apple.com
https://developer.apple.com/account
App Store Connect
https://developer.apple.com/
developer.apple.com
App Store Connect
App Review Guidelines