This is a step-by-step guide on how to create an iOS white-label application. We suggest you also watch the video of this process at https://www.youtube.com/watch?v=Tug96bfzsws
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.
Pick an App
Choose an app that you want to whitelabel. I picked the “Class Assignments” sample app for this tutorial (https://www.appsheet.com/samples/An-app-for-a-teacher-to-distribute-and-collect-class-assignments-?appGuidString=f6df29a2-b057-483e-986d-c676914f3b6a). 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 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.
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 on the “+” button in the top right corner of the page.
This will take you to the following page, where you should fill in the “App ID Description” field with a name that will allow you to easily identify your app. It will only be shown to you. I picked “Class Assignments” for mine.
Following that, select “Explicit App ID”, and enter a unique identifier for your application.
These are the only inputs that you need to touch on this page. Click continue, and you should see a page that looks like this:
Finally, click “Register” near the bottom of the page to finish registering your application ID.
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 the “+” button in the top right of the page. After that, select the “App Store and Ad Hoc” option.
Click continue. Follow the instructions on the next page to create a “Certificate Signing Request”. This is a file that you will upload to the Apple developer website so that they can create a signing identity for you. Write down 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 "Certificate Signing Request", 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 the “Continue” button. Upload your certificate signing request and download the generated certificate on the next page.
Exporting 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 Mac computer). Open the “login” keychain, and select the “Certificates Category”.
Note: if you hit 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 dropdown as well, and it should contain the name that you entered into the certificate signing request in the previous step. For me, that is “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!
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.
Repeat this for every single device you want to be able to test this app on. Keep in mind that you cannot add more than 100 devices.
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 the “+” button 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 me, that is 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).
Then, you will be prompted to select the devices on which you want the app to be able to run. For me that is just “Rob’s iPad”.
Select a name for your provisioning profile (only you will be able to see it).
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 click the “White-label” category. You will have to enter all the info generated during the last few steps so that AppSheet can generate a white-label application for you.
After you enter all the required info, click the “Create” button at the bottom of the iOS white-label section. In 5-10 minutes 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. Congrats! You’ve just created your first white-labeled application!
Testing 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.
Publishing 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". The word "Build" 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, please 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
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.