Create and deploy white label native apps for iOS

Make and deploy an app with customized branding to the app store for iOS. See also What is a white label native app?

To learn more about the different aspects of deploying your app, see Deploy.

The following provides a step-by-step guide on how to create an iOS white-label application.  You can also watch the following video of this process.

Note: The concepts in this video are still valid. Though, the AppSheet app editor UI has changed since this video was recorded.

How to Create and Publish an iOS App | AppSheet

Restrictions

An Apple computer is required to create an iOS white-label app.  Also, any apps submitted to the Apple App Store will be reviewed by Apple. We do not and could not guarantee that an app will pass review or ever be available in the App Store.

Choose an app

Choose an app that you want to white label. For example, the Class Assignments app template is used in this example. Make sure the app has a high resolution icon that is perfectly square (check that the pixel count for height matches the pixel count for width). You will want to use an icon that is at least 1000 pixels by 1000 pixels. If the icon is not square, the white-label process will fail.

Create Apple developer account

Create an Apple developer account. This is necessary because it is the only way to get the appropriate keys, signing identities, and provisioning profiles (all of which will be explained and described in later steps). Follow the instructions on how to create an Apple Developer account at this link: https://developer.apple.com/register. Keep in mind that an Apple developer account costs $99 USD per year. You need to complete this step before you can do anything else in this tutorial.

Create an application ID

You need to create an application ID for your application. An application ID is a unique identifier that Apple will use internally to identify your app. Follow this link: https://developer.apple.com/account/ios/identifier/bundle, and click + in the top right corner of the page.

Create application ID in Apple developer

This will take you to the following page, where you should fill in the App ID Description Name field with a name that will allow you to easily identify your app. It will only be shown to you. For example: Class Assignments

App ID Description Name field

Following that, select Explicit App ID, and enter a unique identifier for your application in the Bundle ID field. For example: com.ivanchub.classassignments

Select Explicit App ID and enter a unique identifier for your application in the Bundle ID field

These are the only inputs that are required on this page. Click Continue. The Confirm your App ID page displays.

Confirm your App ID page prompting you to review your app settings

Click Register near the bottom of the page to finish registering your application ID.

Create the signing identity

Now you need to create a signing identity for your application. A signing identity certifies that the app you upload to Apple, or install on an i-Device, is one made by you. This prevents a hacker from uploading a malicious app if they get access to your account, as they will likely not have access to your signing identity. Navigate to the following URL: https://developer.apple.com/account/ios/certificate/, and click + in the top right of the page. After that, select the App Store and Ad Hoc option.

Add iOS Certificate page prompting you to select the type of certificate you need with App Store and Ad Hoc selected under the Production section

Click Continue. Follow the instructions on the next page to create a Certificate Signing Request (CSR). This is a file that you will upload to the Apple developer website so that they can create a signing identity for you. Take note of what you entered in the Common Name field so you will have access to it later because you will need it when you export the correct certificate in a later step.

Note that when creating the CSR, you must use the email address of your Apple development account, and not any other personal email address.  If you use the wrong email address at this step, you will get a red X when reimporting the generated certificate.

After you create the certificate signing request, click Continue. Upload your CSR and download the generated certificate on the next page.

Page that indicates your certificate is ready with information and a link to Download

Export the signing identity

Now that you have downloaded your certificate, you need to import it into your keychain. Double click on the downloaded .cer file. This will import it into your keychain. Then, open your keychain (this is an application installed by default on your computer). Open the login keychain, and select the Certificates Category.

Note: If you encounter an error about System Roots at this step you can try dragging the certificate into the login section of the keychain instead of double clicking it.

Find the certificate that you imported. It should be called iPhone Distribution …. It should have a drop-down as well, and it should contain the name that you entered into the CSR in the previous step. For example: White-label Certificate. You need to export this certificate-key pair, so that AppSheet can use it to build and sign a white-label application for you. Right click on the certificate (the item called iPhone Distribution ...), and click Export. Make sure that you export in the .p12 format, which will include both the certificate and the signing key. Name the file whatever you like, and save it somewhere you will be able to find it. Before exporting can complete, you will have to input a password to encrypt the exported certificate-key pair. Keep in mind that you will be sharing this password with us, so make sure not to reuse any of your other passwords for this step.

After you click OK, you will be prompted for the password of your computer (this will not be put into the exported certificate-key pair). You have now successfully exported your signing identity.

Upload device IDs

In order to be able to test your white-labeled app on your phone, you first need to tell Apple which devices your application is allowed to run on in test mode. Collect all the i-devices you want your app to be able to run on before you distribute your app. For each of the devices, you need to find their UDID. For details on how to do this, follow the instructions in the following link: http://whatsmyudid.com/.

After you collect all your UDIDs, you need to upload them into the Apple Developer Console. Follow this link: https://developer.apple.com/account/ios/device/create and enter information for a single device.

Registering a New Device or Multiple Devices page in the Apple Developer Console

Repeat this for every device you want to be able to test this app on. Keep in mind that you cannot add more than 100 devices.

Create mobile provisions

Now that you have both an app ID and a signing identity, you need to create two mobile provisions. You can think of a mobile provision as a document that specifies where its app is allowed be installed, like citizenship documentation. To create the appropriate profiles, navigate to the following page, and again, click + in the top right of the page: https://developer.apple.com/account/ios/profile/. The first profile you will create is called an Ad-Hoc provision. This type of provision allows your app to be installed on a small number of predefined devices.

Click Continue. On the next page, select the application ID that you want to use for this provisioning profile. This will be the same ID you created a few steps ago.For example, the Class Assignments ID.

On the following page, you will have to select the signing identity you want to use for this provision. This will be the signing identity you created a few steps ago (the one that expires the latest in your list if you have multiple, like me).

Select certificates page with the Ivan Chub certificate selected

Then, you will be prompted to select the devices on which you want the app to be able to run. For example: Rob’s iPad

Select devices with Rob

Select a name for your provisioning profile (only you will be able to see it).

Name this profile and generate with Profile name set to ad hoc class assignments

When you are finished with the configuration, download the generated provisioning profile. Repeat this same process to create a provisioning profile for App Store release, and download that provision as well.

Build the app

Now that you have all four items required to create a white-label app (the two provisioning profiles, the signing identity, and the application ID), you can proceed to appsheet.com to actually create the app. Navigate your browser to the editor page of your app, go to the Manage section, navigate to the Deploy tab, and expand the White-label category. You will have to configure the app using the information generated during the previous steps so that AppSheet can generate a white-label application for you.

After you enter all the required information, click Create at the bottom of the iOS white-label section. Within 24 hours you will receive an email with links to download your application. One link will contain an app bundle that you can upload directly to the App Store, and the other will contain a bundle that you can use on one of your own devices to see what it is like. Congratulations! You’ve just created your first white-labeled application.

Test on your own device

You will want to test your white-labeled application before you distribute it. One of the links in the email that you received points to a Test IPA. This is the version of the app that you will be able to install on your i-device. Download this IPA, and follow the instructions at this link to install it on your device: http://stackoverflow.com/a/26904969

Publish to the iOS App Store

To publish your newly created app on the app store, you will first need to create an entry for your app in iTunes. Follow the instructions in the following link to do this: https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/CreatingiTunesConnectRecord.html. Be sure to enter all the required information, like description, age restriction, and screenshots during this step. If you do not do this, you will not be able to upload your app to the App Store.

After you've created an entry for your app, you will need to upload a build, which refers to the application binary, the .ipa file that we provide you with during the iOS white-label process. Follow the instructions at this link to upload a build using Application Loader"to Apple: https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/UploadingBinariesforanApp.html.  If you hit errors with the Application Loader, download XCode and retry using the included version.  Note that it can take several hours between uploading the build, and that build being available in iTunes Connect.  You can check the status in iTunes Connect by going into your app and clicking the Activity tab.

Finally, you will need to submit your app for review. Since the iOS App Store is a curated store, all apps are subject to the mandatory review process, during which Apple decides whether or not your app is fit to be on the App Store. We make no guarantees that your app will pass this review stage. To submit your app for review, follow the instructions on this page: https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/SubmittingTheApp.html#//apple_ref/doc/uid/TP40011225-CH33

Enterprise deployment

The final deployment option for larger organizations is called Enterprise Deployment. If you have an Apple Enterprise account, you will be able to generate an application in the same way as ad-hoc and App Store deployments. Replace the App Store signing identity with your Enterprise signing identity, and the App Store provisioning profile with your Enterprise provisioning profile. At this point, the generated app should be able to be deployed with Apple's Enterprise Deployment.

Was this helpful?
How can we improve it?
Search
Clear search
Close search
Google apps
Main menu
Search Help Center
false
false