Search public documentation:


Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 Home > Mobile Home > iOS Provisioning Overview

iOS Provisioning Overview


Signing and provisioning refers to the generation of keys, certificates, and mobile profiles in order to create, test, and distribute applications for Apple's iOS platform. This documents is designed to make the process of getting setup for development on iOS devices easy and painless.

ALERT! Note: You must be a registered iOS developer in order to complete the signing and packaging process. You also must have iTunes installed on any machine that will deploy to an iOS device.

Note: There can be multiple Provisions related to one Certificate, but only one Certificate will be valid at a time. Keep this in mind when working with a team of multiple developers; if a certificate is revoked the related provisions must then be modified or new ones created for the new certificate.

Important: Due to changes by Apple, certificates and provisions downloaded after July 2011 require the use of the August 2011 or later iPhonePackager tool.

iPhonePackager Tool / Unreal iOS Configuration Wizard

The iPhonePackager tool is used to package UE3 applications to run on iOS hardware devices. It also handles configuration and installation of related files such as signing certificates and mobile provisions, as well as deployment to connected devices.

The Unreal iOS Configuration wizard is the graphical interface for the iPhonePackager tool. It provides access to all of the functionality of the iPhonePackager, such as packaging your application, signing your application with your apple developer credentials, and deploying the package to your iOS device, in an intuitive visual interface.


For a reference of the iPhonePackager and Unreal iOS Configuration Wizard, see the iPhonepackager Tool page.

iOS Provisioning Setup

The process of setting up the provisioning necessary to develop iOS applications with Unreal Engine 3 is simplified by the use of the Unreal iOS Configuration Wizard.

The process also requires visiting the Apple Developer site in order to generate a development certificate and provisioning profile.

The iOS Provisioning Setup page covers the complete process of setting up provisioning for new developers as well as developers who previously developed applications for the iOS platform.

iOS Provisioning Portal

The iOS Provisioning Portal contains tools that allow you to perform more advanced or customized provisioning as opposed to the automatic setup performed with the provisioning assistant.


Here, you can add multiple devices, set up explicit bundle identifiers, modify your provisioning profile, and much more. This section will detail some of the common actions that apply to developers creating iOS games with Unreal.

See the iOS Provisioning Portal Overview for details on how to manually set up provisioning.

Key Terms

This document uses encrypt/decrypt and sign/verify interchangeably (either you encrypt the data, or you decrypt a hash of the data).

  • csr - Certificate Signing Request
    • Generated by: Keychain or Unreal iOS Configuration Wizard
    • Used by : iOS provisioning Portal (Apple.com website)
    • Used for: Creating a Signing Certificated
  • cer - Certificate (without private key)
    • Generated by: iOS provisioning portal (apple.com website)
    • Used by: UDK Packaging and Cooking (xcode also uses it when you are setup to use xcode)
    • Used for: To code sign an application for iOS (along with a key-pair)
  • key - Public / private key pair
    • Generated by: Unreal iOS Configuration Wizard
    • Used by: iOS when importing a cer
    • Used for: To code sign an application for iOS (along with a key-pair)
  • p12 - certificate file
    • Generated by: Keychain when exporting from OSX or Unreal iOS Configuration after you import a cer + key.
    • Used by: iOS Configuration Wizard
    • Used for: Transfer a signing identity from one computer to another (e.g. From OSX to PC)
  • cer + key: - certificate file and public / private key pair
    • Used by: iOS Configuration Wizard

Your key pair and your apple certificate

The kinds of operations you can do with a key pair are:

  • Encrypt using a public key: Resulting data can only be decrypted using the paired private key
  • Encrypt using a private key: Resulting data can be decrypted by anyone with the public key (usually used for signing - it identifies that the owner of the private key associated with the public key did the signing)

To get a certificate:

  • Your code signing request includes your public key but not your private key
  • Apple creates a certificate (signed with their private key) that authorizes you to code sign

In order to do the code signing process, you need:

  • Your private key
  • A certificate chain that says you are authorized to code sign (the certificate you download + parent certs we provide)

The certificate you download from Apple contains your public key, and is signed by Apple's private key. It states that you can code sign for iOS, and the phone can verify that by using Apple's public key. It doesn't contain your private key, so that must be provided separately.