Publish to App Store (iOS)
How to publish your Thunkable Project to the Apple App Store
Publishing your app to the App Store can be a rewarding process.
Apple requires a lot information for apps that are available in their App Store. As a result, the publishing process can feel long and will require at least 20 minutes to complete the necessary steps on the Thunkable website, which currently requires information from 4 different Apple websites. We recommend completing the Prepare for Submission steps before starting the publishing process in Thunkable.
Thunkable is continually looking for ways to streamline the publishing process and has made it possible for creators to publish from a non-Mac computer, which is normally required by the standard publishing process.
In this document, the version of your app that you submit to the App Store is referred to as a build.
Apple holds a high standard for apps that are approved for distribution in the App Store so please review Apple's policies and guidelines to make sure your app is in compliance before you sign up for the Apple Developer Program
You will need to set a version number in your project. You can set your version number in the Project Settings panel under iOS > Version Number.
If this is your first time sending this app to App Store Connect, you can set the version number to 1. You will need to increment your version number, or increase it by 1, every time you submit a build to App Store Connect.
Apple requires that you explain to users why you may need access to sensitive services like a camera, photo library and microphone. You can add these explanations in the App Settings panel under iOS Permissions.
Tracking Usage Description If your app contains AdMob, Location Sensor, Push Notifications, or Web Viewer components you must include user tracking usage details (UTUD). Sharing trackable data with third parties requires that you tell your users what data is being shared and why.
These fields should be left blank if no trackable data is shared with third parties or if your app contains a Web Viewer that only accesses a local HTML file.
If you do not include this and your app engages in tracking, Apple will reject your submission and ask you to resubmit with an appropriate tracking string.
There are two locations where you can set your Tracking Usage Description:
- 1.Project Settings
- 2.Publishing Wizard
To learn more about what to say in your Tracking Usage Description, see What should I say in my Tracking Usage Description?
You will need an Apple Developer Account to publish an app to the App Store. To obtain a developer account you must enroll in the Apple Developer Program. An Apple Developer Account costs $99/year.
Certain educational institutions qualify for free Apple developer accounts. To check if your school or university if eligible, please visit this Apple site.
If a developer uses a third-party platform like Thunkable to send an app build to App Store Connect, the developer needs to create an app-specific password.
You only need one app-specific password for Thunkable to send any build to App Store Connect on your behalf.
You do not need separate app-specific passwords for separate Thunkable projects.
You will need this password to send a new build to your App Store listing in the future, so make sure to record it securely.
Step 2: Enter the email address associated with your Apple ID
Step 3: If prompted, enter your 6 digit authentication code
Step 4: Once signed in, click on the App-specific passwords link, highlighted above.
Step 5: If this is your first time to create an app-specific password click on the button that says "Generate an app-specific password"
Step 6: Give your password a meaningful name so you will be able to recognise it later. Please note that you can use the same app-specific password for all your Thunkable projects. It's not necessary to create a new one every time your want to publish a new project.
Step 7: Your app-specific password consists of four 4-letter phrases. You will not be able to retrieve this password once you click Done so make sure you save it some place safe.
To change an app-specific password, you will need to revoke your old password and generate a new password using the steps above. To revoke an app-specific password:
- 2.In the Security section, click Edit
- 3.Go to the App-Specific Passwords section and click View History
- 4.Click the ⓧ next to an individual password to revoke it, or click 'Revoke All' to revoke all of your app-specific passwords
Every app published on the App Store must have a unique name. For example, there can only ever be one app called
Thunkable Sample App. You can Register your App ID to reserve the name you want!
Go to the Apple Developer website to register a new App ID. Click through the tabs below to see each screen in the ID creation process.
Step 6 in the tabs below shows you where to find your App Name, Team ID, and Bundle ID.
- App Name: The app Name must be unique to the App Store and is what appears next to the app icon when it is downloaded on a user's phone.
- Team ID: A unique account identifier that is linked to your Apple Developer Program membership. Apple will automatically create this for you, and it can be used for every app you publish.
- Bundle ID: Also unique to your app, but not visible to your app users. Otherwise, a single Explicit App ID should work. Apple recommends reversing your domain name to create your bundle ID i.e. com.yourDomainName.yourAppName to avoid conflicts with other apps.
- Note: Starting June 16, 2020, uploading apps to the App Store requires an explicit bundle ID. Wildcard bundle IDs are no longer available when creating app records.
Open your Apple Developer account page and choose the Certificates, IDs & Profiles option from the menu on the left hand side of the screen.
From the menu on the left, click on the Identifiers menu item
Click on the blue + icon to add a new ID to your account.
Choose App IDs from the list of options and then click on the blue Continue button to go to the next screen.
For the app Description enter the name you want to give your app and for the Bundle ID enter the bundle ID from your Thunkable project settings. Click Continue to review these details.
Once you are happy with these detail, click Register to confirm your app ID.
This new app ID is added to your list of app IDs.
Once you have registered an App ID, you can create an app listing on App Store Connect. This is where you will manage your submission to the App Store.
Go to the App Store Connect website and follow the steps below to create your App Store listing with the App Name and Bundle ID you registered earlier.
Click on the My Apps button to begin.
Use the blue + button to begin creating a New App
You will need to use the same App Name and Bundle ID you registered earlier. If you registered an 'Explicit App ID', you will enter it into the Bundle ID field above.
Now click on your app name to prepare your store listing
Thunkable enables you to send your build directly to the App Store without the need for any specialized software or hardware. To begin the process, click on the Download/Publish icon and choose Publish iOS from the drop-down menu.
A publishing dialog will pop up to guide you through the publication process. Please take a moment to read all the instructions.
Click the Get Started button to proceed.
Enter the Apple ID and password that are associated with your Apple Developer account. Since Two Factor Authentication (2FA) is now the default for Apple accounts, it is assumed that you have this enabled. The rest of this guide shows the steps for publishing with 2FA enabled. Click the Next button to proceed.
If you did not register an App ID before getting started, now is the time to do so.
In the next tab, you will be prompted for your App Name, Team ID and Bundle ID. If you are unsure of what these are, please refer Register an App ID on App Store Connect, above.
Two-factor authentication helps to keep your account secure and Apple has made it mandatory for new developers to turn two-factor authentication on. If you do have 2FA turned on, you'll need to complete the following steps to confirm your identity with Apple.
In the publishing dialog, click the link that says Click to Download CSR. This is your Certificate Signing Request file and you will need it to generate an iOS Distribution Certificate.
This step should only need to occur once. Although you need a different provisioning file for each project, your Account Certificate should remain the same between any projects published with Thunkable. Once you issue a new certificate, that will be good for a period of 1 year from the date of creation. You should be able to publish as many apps as you want with that 1 distribution certificate for you (the publisher) and 1 provisioning file per app (per published Thunkable project) A certificate is specific to the email account that was used to create the certificate. I.E. If you are helping another Thunker publish their app, you would need to log in and publish from that users account using their certificate.
Go to the Certificates page in your Apple Developer account to generate an iOS Distribution Certificate.
You may already have an account certificate in your account. You can only have two certificates per account so you may need to revoke a certificate before you can create a new one.
Click on the blue + icon to create a new iOS distribution certificate.
Choose iOS Distribution (App Store and Ad Hoc) from the next list and click Continue.
Upload the Certificate Signing Request you download from Thunkable and click Continue to get your certificate.
Click the blue Download button to save a copy of this certificate to your computer.
Back in Thunkable, click the Upload Certificate button and choose the
.cerfile that you have just created.
Provisioning profiles are required by Apple to install an app on a device. You need to create a
.mobileprovisionfile in your Apple account and then return to Thunkable to upload this file.
Open up the Profiles list in your Apple Developer account and click the blue + button to get started.
Make sure you are creating a Distribution profile and that the App Store option (highlighted above) is selected. Click Continue to choose an App ID.
From the drop down menu, choose the ID for the app that you are trying to publish. Click Continue to go to the next page.
Choose a certificate and click Continue.
Finally, give your provisioning profile a meaningful name and hit the Generate button.
Once the provisioning profile has been generated you can then Download it to your computer.
The profile has a
.mobileprovisionfile type. You now need to go back to Thunkable and upload this file.
Back in Thunkable, upload your
.mobileprovisionfile and click the Next button to proceed.
If you did not create an app listing on App Store Connect before getting started, now is the time to do so.
You're almost there! Review your app icon and your Version Number.
App icon: This app icon appears when a user downloads your app from the App Store. Our recommended size is 192 x 192 px. This icon must not have any transparent pixels.
Version Number: The version number is visible to your users when they download a new version of your app. You can opt to let Thunkable automatically increment your version numbers.
User Tracking and Usage Description: If your app includes AdMob or Web Viewer components, you need to inform the user why the app is requesting permission to use data for tracking the user or the device.
You should shortly receive an email from Thunkable to let you know that your build is being sent to the App Store. There are still a number of steps that you need to complete on App Store Connect before your app can be published, but that's everything completed from the Thunkable side of things - congrats!
You will need to provide some information to Apple about your app before it can be reviewed and published.
You should receive an email from Apple that says your app is ready in the App Store Connect website. This may take up to an hour.
To view your build:
- Go to your App Store Connect dashboard
- Select the app listing of the build you have just uploaded
You will see the app listing homepage. This page contains the tabs App Store, Features and TestFlight.
If your build is submitted successfully, it should appear under the TestFlight tab in this app listing homepage. TestFlight is a tool from Apple that allows you to test your app before it is submitted for release in the App Store.
(If there are any issues, you’ll get an email from us telling you what you’ll need to fix.)
Back in the App Store tab, scroll down to the section titled Build and click the button that says Select a build before you submit your app.
You will see a dialog that allows you to select a build to attach to this app listing. Select your chosen build and click Done.
Now you can review the App Information included in your App Store tab. You can review Apple's advice on filling in your app information on this webpage.
Set a price point for your app. Apps can also be distributed for free.
The final section requires screenshots for both iPhone and iPad and a high resolution icon.
The high resolution icon will be featured in the App Store listing and must be 1024 x 1024 px with no transparency. To generate this icon, we recommend a tool like this.
You may need to answer a question about export compliance. You can select No when asked if your app uses encryption since apps made on Thunkable for iOS do not at the moment.
After submitting your app for review, you may asked, "Does this app use the Advertising Identifier (IDFA)?"
The app will still be able to be published but you will want to check the following three boxes:
- Attribute this app installation to a previously served advertisement
- Attribute an action taken within this app to a previously served advertisement
- I, YOUR_NAME, confirm that this app, and any third party…
Note, you should not check the box labeled Serve advertisements within the app.
Now your app listing is ready for Apple to review!
For Step 6, Upload your new build to App Store Connect, follow the instructions in Send a Build to App Store Connect.
You do not see your app uploaded to App Store Connect
- Download. One way to check if your app is build-able is to download it to your phone first. Two common download errors are:
- You uploaded an icon that has the same name as an existing asset that you have uploaded
- Your app icon is not an image file
- Icons. Apple additionally does not allow you to have any icons with any transparent colors. We recommend app icons to be 192 x 192 px
- Membership. To publish to the App Store, you'll need to sign up for Apple Developer Program Membership. This currently costs $99 / year.
- Certificates. If you have an existing Apple Developer Program account with 2 iOS certificates, you'll have to revoke one. Apple only allows developers to have 2 iOS certificates at a time and Thunkable creates one when it publishes to your account
- Provisioning profile. After you revoke your certificate, it is possible that one or more of your provisioning profiles will become inactive. To publish successfully, you'll also need to delete any inactive provisioning profiles
- Login. Apple ID or password were entered incorrectly. Since we don't store either one, there's no easy way for us to check so enter it slowly
- Apple ID and privacy terms. You must accept Apple's new Apple ID and privacy terms.
- You see a message saying "ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs". This is a warning, but you can still publish your app. See the Web Viewer documentation for more details.
- Apple account password. If you change or update the password for your Apple account password, Apple deletes your app-specific password. If you change your Apple account password, you must create a new app-specific password.
- Invalid Bundle ID. A bundle ID, or package name, is a unique identifier for your app. It can be updated in App Settings. Ensure your bundle ID follows the following rules:
- Has at least two segments [one or more dots].
- Each segment must start with a letter.
- All characters must be alphanumeric or an underscore [a-z, A-Z, 0-9, or _].
To publish an app to the App Store that contains Push Notifications, you need to:
- send an app that does not contain Push Notifications to App Store Connect
- send the new version of your app to App Store Connect
Between sending these two versions of your app to App Store Connect, you will need to create a new .mobileprovision file. Here's a quick overview of what that process looks like.
Click on Provisioning Profiles > All to see your current iOS provisioning profiles. Notice that the app you just created is now invalid so we need to generate a new one.
Open the inactive profile and click on Edit to generate a new one.
Scroll to the bottom of the page and click Generate.
On the next screen, click the Download button and the .mobileprovision file will be saved to your downloads folder.
If you want to remove your apps from being listed in the App Store, open your app listing on App Store Connect and follow these instructions:
- 1.On the “App Store” tab, click on “Pricing and Availability”
- 2.Click the “Remove from Sale” radio button
- 3.Then click the “Save” button to unpublish your app
You can see these buttons in the screenshot below:
Please note that if your Apple Developer account expires, your apps will no longer be available for download in the App Store.
Removing your app from the Play Store will not delete it from devices which have previously downloaded the app.