Apple App Store Information
This process has many steps and can take time, so allow for this in your deployment schedule.
To get all the information you need for an Apple App Store build and submission, you must create an Apple Developer Account and sign up to the iOS Developer Program.
Apple Developer Account
First, go to https://developer.apple.com/ and choose ‘Account’ from the main menu. Click ‘Create AppleID’ on the following login page and enter all your relevant information to create your user. Note: your email address becomes your AppleID so a generic email address for your company such as email@example.com could be a good plan.
Private Key and Certificate Signing Request (CSR)
Next, you need to generate a Private Key, and a Certificate Signing Request for your certificates, using the OpenSSL tool. You can download OpenSSL from the OpenSSL site.
When OpenSSL is installed, open a command prompt to the directory where you installed it and enter the following commands
openssl genrsa -out ios_private.key 2048 openssl req -new -key ios_private.key -out ios.csr -subj "/emailAddress=YOUREMAILADDRESS, CN=APPNAME, C=COUNTRYCODE"
Note: Replace the CAPITALIZED text above with relevant information for your app.
This will create an ios_private.key and ios.csr file which are needed below.
Production Certificate (.p12)
Now you will need to use these files to create a Production certificate for your app. To do this:
- Open a browser to the following link: https://developer.apple.com/account/ios/certificate/distribution
- Here, you need to navigate to Certificates > Production and click the plus button (top-right) to add a new certificate.
- In the next page, select “App Store and Ad Hoc” then continue. The following page gives brief instructions about how to create the CSR using Key Chain Access – similar to the above information in this document. Click continue again.
- You will now be asked to choose the ios.csr file from above and upload it to the server.
- You will then be able to download the generated CER file. E.g. ios_distribution.cer
- Once downloaded, you will need to run the following in a terminal/command prompt.
openssl x509 -in ios_distribution.cer -inform der -out ios_distribution.pem openssl pkcs12 -export -in ios_distribution.pem -inkey ios_private.key -password pass:"New password" -out ios_distribution.p12
Where New password is a new secure password you provide. Record it for later.
- You will end up with a file called ios_distribution.p12 and the password which you created above.
Note: This file and password will be needed in the publishing process and is private information that should be saved securely.
You now need to create an App Identifier which will identify the application when it is put on the App Store. This is done by:
- Opening a browser to the following link;
- Check you are on the “iOS App IDs” page. If not, click “App IDs” link under the “Identifiers” category in the left-hand sidebar.
- Click the ‘plus’ button at top-right of the App IDs list page.
- App Description – the name of the app
- App ID Suffix – Use Explicit App ID and enter in reverse URL format. g. com.<yourcompanyname>.<appname> without spaces or asterisks.
- If you want to use Push Notifications in the future (or your app uses other services) then check these in the ‘App Services’ list.
- Click ‘Continue’ to register the new App ID.
iOS Provisioning Profile
Now you need to set up a Mobile Provisioning profile for the app, for use with the App Store
- Navigate to https://developer.apple.com/account/ios/profile/production
- Select “Profiles” in the left hand sidebar.
- Click Generate a Profile
- Select the “App Store” option and continue.
- Select the App ID that you created in the App Identifier section (above) and continue.
- Enter your app name as the profile name, and continue.
- Click Generate.
- Click Download
- This will generate a .mobileprovision file for your application which you will download.
Testing devices and profile
We strongly recommend you test your app on an actual device before publishing to the App Store. For Apple this requires some additional setup.
In your Apple developer account, go the “Devices” section, and add your test device or devices. For each device, you will need it’s unique ID, or UUID. This can be found by connecting the device to iTunes, and clicking “Show Phone Info”. At first you will see only the serial number. Click on this number and it will change to the UUID, which is a long string like “fde10b2d1304366f5c38429b1af80ed10fc5b630”.
Testing (ad-hoc) provisioning profile
Next, you need to add the test devices into a provisioning profile created specifically for testing; as for the app store profile above, go to Profiles and Add a new profile. Choose “Ad-hoc”. Choose the app and certificate as before. Finally, select all the devices you want to test with.
Once completed, download the .mobileprovision file. You will need this to submit to Umajin’s cloud system.
Checklist: iOS Publishing Items
You should now have the following items ready to use with Umajin for publishing to the iOS AppStore.
- The ios_distribution.p12 file that you created in the certificate step.
- The Password for ios_distribution.p12 as you entered it in the certificate step.
- The .mobileprovision file that was created in the provisioning step.