Table of Contents

Create iOS Publishing Files

This document will walk you through the process of publishing your app to an ‘.ipa’ file that can be uploaded to the Apple iTunes App Store.

Please refer to the online help page Publishing to Apple iTunes Connect for detailed instructions on creating an iTunes Connect account and defining your product; creating the branding elements for your app; and uploading your app file to the Apple App Store.

Requirements for Publishing an iOS App

  1. Completed app branding in ViziApps Studio
  2. Apple ID and Apple iOS Developer Account
  3. Access to an Apple Mac OS X computer for creating digital certificates

Files Required for Creating the iOS App Code File

This process will guide you through the creation of these files:

  1. Distribution Certificate (e.g. ios_distribution.cer)
  2. Private Key (e.g. Certificates.p12)
  3. Distribution Provisioning Profile (e.g. appname.mobileprovision)

Mac Computer and Keychain Access Utility

You must have an OSX Macintosh computer available to complete the publishing process for an iOS app. The only software required is a program called Keychain Access, located on your Mac computer in Applications/Utilities. Keychain Access will be used to create a public/private key pair which are Certificate Signing Request and Private Key files.

Apple ID and Apple iOS Developer Account

The iOS Developer account is a formal registration with Apple that determines the identity that will be associated with your app, and requires your Apple ID. You have two choices:

Register for a Developer Account here: https://developer.apple.com/programs/start/ios/

Create a Certificate Signing Request (CSR) File

  1. Open Keychain Access on your Mac.
  2. Under the Keychain Access menu, choose Keychain Access > Preferences and click Certificates. Make sure both Online Certificate Status Protocol and Certificate Revocation List are set to Off.
  3. Choose Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority.
    • Note: If you have a private key selected when you do this, the CSR won’t be accepted. Make sure no private key is selected.
  4. Enter your user email address and common name. Use the same address and name as you used to register in the iOS Developer Program. No CA Email Address is required.
  5. Select options “Saved to disk” and “Let me specify key pair information”. Click Continue.
  6. Specify a filename and click Save. The filename will have the extension “.certSigningRequest”.
  7. For the Key Size choose 2048 bits and for Algorithm choose RSA. Click Continue and the Certificate Assistant creates a CSR file and saves the file to your specified location.
    • Note: The Keychain Access Utility often posts a number of keys that look alike and can be very difficult to choose the right one. It is best to save this CSR file immediately rather than using Keychain Access at a later time to recover the CSR file.

Export the Private Key (.p12)

  1. Open Keychain Access on your Mac.
  2. Select “login” under “Keychains”.
  3. Look for the certificate which has your name as entered for the CSR request and the Kind is listed as Private Key. You can click on the left-hand arrow to expose this key’s certificate to view the complete description for this key.
    • Note: Several similar-looking private keys may appear in your keychain. Make sure to choose the Private Key file that has an “iPhone Developer” certificate in its details.
  4. Select this private key, then choose File > Export Items . . .
  5. The default name is “Certificates.p12”, but for clarity you could rename this file to “your-name-PrivateKey.p12”.
  6. Click Save. The Private Key file with this name will be downloaded.
  7. You are now prompted to enter a new password for the Private Key. Enter the new password but also make note of this password - it will be needed later. Click OK.
  8. You will be prompted to enter your Mac user password so Keychain Access can complete the export. Enter your Mac user password and click Allow.

Create an App ID

  1. Log in to the iOS Provisioning Portal.
  2. Under iOS Apps, select Identifiers. Under Certificates, Identifiers, and Profiles, click on App IDs. Click the plus sign (+) in the upper right to add a new App ID.
  3. Enter a name for the App ID under Description. This name is for your own use.
  4. Under App ID Suffix, select “Explicit App ID”.
  5. Enter a Bundle ID string and click Submit. By convention this starts with your company’s domain name in reverse and then adds your product name separated by periods, e.g. com.viziapps.mymobileapp. The Bundle ID is a Uniform Type Identifier, which means the App ID can contain ASCII characters A-Z, a-z, 0-9, hyphen (“-”), and period (“.”), and all Unicode characters above U+007F.
  6. Write down this Bundle ID for later use in iTunes Connect.
  7. Under the App Services heading, check the option to enable Push Notifications. You may not need this service initially, but selecting this option now will prevent you from having to rework your certificates if Push Notifications are used at a later time.
  8. Click Continue.
  9. You will be presented with a screen to Confirm Your App ID. Click Submit.
  10. You will be presented with a Registration Complete screen. Click Done. Check to make sure your new App ID appears in the listing under iOS App IDs.

The App ID must be exactly the same as what you enter in iTunes Connect for your app’s Bundle ID Suffix. Do not enter a wildcard because this may prevent some advanced features from working. You may find more detail in Apple’s documentation of the App ID.

Create the Distribution Certificate

  1. Log in to the iOS Provisioning Portal.
  2. Under iOS Apps, click on Certificates. Click the plus sign (+) in the upper right to create a new Certificate.
  3. Under the Production heading, select App Store and Ad Hoc. Click Continue.
  4. You will see a page describing the process to create a Certificate Signing Request file, which you have already completed. Click Continue.
  5. You will see the page called Generate your certificate. Click Choose File and navigate to the CSR file (“.certSigningRequest”) that you have previously created and saved.
  6. Click Generate.
  7. You should be presented with the screen, Your certificate is ready. Click Download, which will prompt you to save this file, ios_distribution.cer. Click Done.
  8. Rename this file to clearly denote the app name and iOS distribution, and save it to a safe location for later use by ViziApps. This certificate will also be stored in the iOS Portal under Certificates, Production.

Create a Distribution Provisioning Profile

  1. Log in to the iOS Provisioning Portal.
  2. Click Provisioning Profiles under iOS Apps.
  3. Click the plus sign (+) in the upper right to create a new profile.
  4. You will be asked, What type of provisioning profile do you need?
  5. Under the Distribution section, select App Store. Click Continue.
    • Note: it is also possible to select Ad Hoc. The reason to create an Ad Hoc certificate is to test your app on multiple devices prior to your production release.
  6. You will be asked to select an App ID. Choose the App ID that you just created. Click Continue.
  7. You will be asked to Select certificates. You should see an iOS Distribution certificate listed under your name and the current date - select that certificate. Click Continue.
  8. The next screen is Name this profile and generate. Enter a profile name. This name is used within the iOS Portal to identify this provisioning profile, so you should include a description of your application name and App Store (or Ad Hoc). Click Generate.
  9. The next screen should say, Your provisioning profile is ready. Click Download and save this file. This filename should already include the Profile Name that you just entered, with the file extension “.mobileprovision”. Save it to a safe location for later use by ViziApps.

You now have the 3 files you need to complete app publishing.