Apple built a security model for iOS that requires a combination of a security certificate and a private key in order to 'codesign' apps and be able to either install them on an iPad or iPhone outside of the App Store, or to submit an app to the App Store.
Below are the steps required to obtain and install that combination. More detailed documentation about certificates, identifiers and provisioning profiles is available from Apple's developer portal.
1. Obtain and install the necessary certificates
Make sure you are logged in as an Apple Developer in Xcode. For more info on how to do that, see this article.
After you have logged in to Xcode, it's time to get the necessary certificates.
- Launch Xcode
- Go to the Preferences...
- Select the Account tab
- Select your account
- Select the appropriate Team and click on Manage Certificates... (Note that Distribution Certificates belong to the team but only the Account Holder or Admin role can create Distribution Certificates. If you’re enrolled as an individual, you are the Account Holder).
- Click on the
+icon and create a distribution certificate.
- Xcode will do the signing request, get and download the certificate and add it to your Keychain.
Twixl Publisher uses a Distribution Certificate for Ad Hoc and App Store distribution.
2. For existing customers only: delete your old certificates
To avoid running into any issues while building your app, if you created (Twixl) apps before, you may have existing iOS Developer or Distribution certificates (you'll find these in the login keychain, under the section 'My Certificates'). With Twixl Publisher 12 and higher, you need Apple Distribution certificates. Therefore we strongly advise you to delete your old certificates and start all over. To do this, you need to:
- Delete all older iOS Developer and Distribution certificates in your Keychain Access app (found in /Applications/Utilities)
- Revoke all your old iOS Distribution certificates on the Apple Developer Portal
Deleting and revoking your old certificates for App Store apps will not have any influence on your existing iOS apps. It will only influence the build process for new apps (and updates of existing apps).
For Enterprise apps, though, the consequence will be that apps built using that certificate will no longer start. If you need to extend the expiration date for a provisioning profile of an existing Enterprise app, you can do the following:
- Delete the provisioning profile in: ~/Library/MobileDevice/Provisioning Profiles/
- Create a new build, and a new profile will be created that will expire after one year
3. Create an App ID
- Login to Apple's Developer Member Center, then select Certificates, Identifiers & Profiles.
- In the left column, click on Identifiers.
- Next, click on
+to add an Identifier
- Choose App IDs
- Choose App
- Enter a Description, a Bundle Identifier (type Explicit). As an option you can activate Push Notifications (see this Chapter for more info).
ABOUT AN APP ID
- An App ID consists of a unique 10 character "Bundle Seed ID" prefix generated by Apple and a "Bundle Identifier".
The recommended practice is to use a reverse-domain name style string for the "Bundle Identifier" portion of the App ID, e.g.
4. Assign the devices
Now you need to assign the devices you want to use (required for your Ad Hoc builds only).
Locate the Unique device ID in Xcode (click on "Serial Number" and the Identifier will be displayed - copy the UDID via cmd-C). Now add the UDID(s) to the 'Devices' section of the iOS Provisioning Portal.