UDN
Search public documentation:

AppleiOSProvisioningSetup
日本語訳
中国翻译
한국어

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

Mobile Home > iOS Provisioning Overview > iOS Provisioning Setup

iOS Provisioning Setup


Overview


This document will show you how to use the Unreal iOS Configuration Wizard to deploy your mobile game project to your iOS device from Windows.

UnrealiOSConfigurationWizard.jpg

This tool handles packaging your application, signing your application with your apple developer credentials, and deploying the package to your iOS device. The signing process uses public key cryptography and requires both a public and private key.

ALERT! Note: You must be a registered iOS developer in order to complete the signing and provisioning process.

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

Setting Up Provisioning


The process for setting up the provisioning for UDK depends on whether or not you are already registered as an Apple iOS developer and have previously generated a developer certificate.

Creating New Provisioning


For new iOS developers, the process of setting up provisioning and creating a certificate for use with UDK is a multi-part process:

  • Generate key pair and certificate request
  • Create certificate and mobile provision
  • Import provision and certificate into UDK

Generating Certificate Request and Key pair

The first part of the process requires generating a certificate request and key pair from the New Users tab of the configuration wizard. These will be saved to disk and used later on in the process.

UnrealiOSConfigurationWizard.jpg

  1. Click the CreateCertificateRequest.jpg button to display the Generate Certificate Request window.

    GenerateCertificateRequestStep3.jpg

  2. Fill in the fields with the following information:

    • Email Address - the email address associated with your developer account (e.g., your Apple ID).
    • Common Name - The name you want used for with the certificate (e.g., your first and last name or company name).

    As you fill in the boxes you should see green checkmarks.

    GenerateCertificateRequest_checks.png

  3. Click the GenerateaKeyPair.jpg button to generate the key pair file.

    A file dialog will open allowing you to save the generated key pair file to disk. Save this file to a known folder. This can be anywhere on your computer, but it makes sense to keep it with the rest of the UDK files. For example:

      C:\UDK\Developer Files
      

    GenerateaKeyPair_window.png

  4. Click the GenerateCertificateRequest.jpg button to generate the certificate request file.

    A file dialog will open allowing you to save the generated certificate request file to disk. Save it to the same directory the key pair file was saved to.

The workflow you have just completed would normally be done in the Keychain application on a Mac. You will have to import your certificate request (.csr) into your Keychain on a Mac at a later point when you go to sell your app.

With the certificate request and key pair generated and saved, the next step is requires a visit to the Apple Developer website.

Generating Certificate and Provision

ALERT! IMPORTANT: The following steps are only confirmed to work in Firefox or Safari on the PC

The process of generating a developer certificate and mobile provision requires visiting the Apple Developer site. This section will detail the process of setting up a provisioning profile using the provisioning assistant. The process can also be done manually through the iOS Provisioning Portal. For more information on manually setting up provisioning, see the Advanced Provisioning Setup section.

  1. Click the link to go to the iOS Dev Center home page. This is the main page for all iOS development.

    ios_dev_center.jpg

  2. Click the Login button to login to your developer account.

    ios_dev_center_login.jpg

    Enter your developer login credentials in the next page to Sign In. This should return you to the iOS Dev Center home page.

  3. Click on the link on the right sidebar to go to the iOS Provisioning Portal:

    ios_provision_portal.jpg

  4. You should now be at the iOS Provisioning Portal home page.

    ios_provision_portal_home.jpg

    Click Launch Assistant to begin the Development Provisioning Assistant:

    ios_provision_assistant_launch.png

  5. The Development Provisioning Assistant should open. Click Continue to begin the provisioning process:

    ios_provision_assistant_step_1.png

  6. Now, you must create a new App ID. this is a unique identifier that allows an iOS application to communicate with the Apple Push Notification service or with external hardware accessories. At this point, you need to choose a display name for the App ID, which is just a readable name that will be used in various places on the iOS Provisioning Portal site.

    Note: By default, the App Id that is created through the assistant uses a wildcard for the bundle identifier. This will make the provision incompatible with Game Center, In App Purchases and the Apple Push Notification service. See the Advanced Provisioning Setup section for information on how to create an App ID compatible with those features and assign it to your provision profile.

    Enter a new App ID Description into the text field:

    ios_provision_assistant_step_2.png

  7. Next, you need to assign a development device to the provision. Obviously, this means you need to have an iOS device (iPad, iPhone, iPod Touch). Should you need to add multiple devices, see the Advanced Provisioning Setup section.

    Enter the following information into the fields:

    • Device Description - This is just the display name that will be used to identify the particular device. If you have multiple devices you would like to use, you can add multiple devices later on through the iOS Provisioning Portal. See Adding Devices for more information.
    • Device ID - This is the unique id of your iOS device. There are instructions for locating the id through Xcode on a Mac, but another method is to use the iDevice Info app available in the App Store to find your Device ID. The app will even email the id to you so you can easily copy and paste it into the field.

    ios_provision_assistant_step_3.jpg

  8. You should be viewing the Generate Certificate Signing Request page. Click Continue to skip this page as you have already generated the certificate request through the configuration wizard previously.

    ios_provision_assistant_step_4.png

    Now, you will submit the developer certificate request. Navigate to and select the certificate request (.csr file) generated through the configuration wizard and click Continue.

    ios_provision_assistant_step_5.png

  9. Enter a description for your provisioning profile and click Continue. This is a display name that will be used to identify this particular provision.

    ios_provision_assistant_step_6.jpg

  10. The provisioning profile will be created when the next page loads. Once the large green checkmark appears, the provision has been created and you can click Continue.

    ios_provision_assistant_step_7.jpg

  11. You need to download the newly created provisioning profile so it can be imported into UDK. Click Download and choose a location to save the file to (the same location you saved the key pair and certificate request would be a good idea).

    ios_provision_assistant_step_8.png

    Once the file is downloaded, click Continue to proceed.

    ios_provision_assistant_step_9.png

    Click Continue on the next page to skip it, unless you want to go ahead and install the provision in Xcode on a Mac. This is not necessary for UDK development, but will be necessary should you decide to submit your game to the App Store down the line.

    ios_provision_assistant_step_10.png

  12. The developer certificate that was created also needs to be downloaded as it must be imported into UDK as well. Click Download and save the certificate with your other files.

    ios_provision_assistant_step_11.png

    Once the file is downloaded, click Continue to proceed.

    ios_provision_assistant_step_12.png

    Click Continue on the next page to skip it, unless you want to go ahead install the certificate in Keychain on a Mac. This is not necessary for UDK development, but will be necessary should you decide to submit your game to the App Store down the line.

    ios_provision_assistant_step_13.png

  13. Click continue to skip the next page. This does not apply to development of iOS applications using UDK.

    ios_provision_assistant_step_14.png

    The process of generating your developer certificate and provisioning profile is now complete. Click Done on the next page to exit the assistant.

    ios_provision_assistant_step_15.png

Importing New Provision and Certificate

Once the developer certificate and provisioning profile have been generated and downloaded, they need to be imported into UDK through the configuration wizard.

UnrealiOSConfigurationWizard.jpg

  1. Click the ipp_import_provision_button.png button to import the provisioning profile. Use the file dialog that opens to find the provisioning profile that was downloaded previously. The green checkmark should appear once the profile has been successfully imported.

    ipp_import_provision.png

  2. Next, click the ipp_import_certificate_button.png button to import the developer certificate. Use the file dialog to find the certificate that was downloaded previously. A message box prompting you to import the key pair file created previously will appear.

    ipp_import_keypair.png

    Click OK and use the file dialog that opens to find the key pair file. The green checkmark should appear once the certificate and key pair have been imported successfully.

    ipp_import_certificate.png

  3. Click the ipp_edit_info_plist_button.png button to open the Customize Info.plist dialog.

    ipp_edit_info_plist_window.png

  4. Fill in the following information:

    • Bundle Display Name - This is the name that will be displayed on the iOS device directly under the app's icon on the home screen. You want to make sure this is a compact name so that it will fit within the allotted space without being cut off. (Example: UDN iOS Game)
    • Bundle Name - This is a condensed name used to identify the app. This should be less than 16 characters. (Example: UDNiOSGame)
    • Bundle Identifier - This should match the bundle identifier of the App ID created on Apple's Developer website previously. If you used the automatic App ID creation process through the assistant, the bundle identifier of the App ID is a wildcard (*) and the bundle identifier entered here can be anything you want. If you used the manual creation method (Advanced Provisioning) and specified an explicit bundle identifier, the bundle identifier entered here must match that one exactly. (Example: com.EpicGames.UDNiOSGame)

    ipp_edit_info_plist.png

  5. Click the ipp_edit_info_plist_save_button.png button to save the Info.plist information. The green checkmark should appear when the Info.plist has successfully been saved.

    ipp_edit_info_plist_complete.png

  6. Click the ipp_package_button.png button to exit the configuration wizard.

    If you accessed the configuration wizard through the editor through the Start this Level on iPhone in the toolbar, the packing process will continue and the game will be loaded on to the connected iOS device. If no device is connected, an error will occur.

    If the configuration wizard was accessed thorugh the Start Menu in Windows, the configuration wizard will simply close at this point. TODO - true if opened through Unreal Frontend also? - Jeff Wilson

Transferring Existing Provisioning


If you are an existing iOS developer and you have already deployed to a iOS device from Mac or PC previously, you will need to transfer your signing identity over to UDK using the Already a registered iOS developer tab of the configuration wizard. This also involves retrieving your existing developer certificate from the Keychain application on your Mac.

ipp_existing_tab.png

Retrieving the Certificate

Existing developers of iOS applications who wish to develop iOS games using UDK must export their certificate and private key from the Keychain Access application in order to import it on the PC running UDK.

On a Mac, if you generate a code signing request and there isn't already a key pair for the logged in user, it creates and installs one silently. If there is one for the signed in user, then it just always uses that one. Since that key only exists on the Mac that generated the CSR, the certificate you download from Apple can only be used on that machine unless you export both the certificate and the key pair.

Note : The Keychain Access application doesn't really make it clear what you are exporting when you use it, but you can end up exporting:

  • Just the certificate (no key pair)
  • Just the key pair (no certificate)
  • The public or the private key individually
  • Both the certificate and the key pair

In order to code sign with your certificate (either you on a different machine or PC), or someone else on another Mac or PC, you will need to export both. The easiest way is to export in .P12 format, which can contain both in the same file.

  1. Launch the Keychain Access application.

    LaunchKeychain.png

  2. Select login from the Keychains pane and then select My Certificates in the Category pane in the Keychain Access application.

    MyCertificates.png

  3. Select your Developer certificate. This will export both the certificate and the key pair.

    SaveDeveloper.png

  4. Now, choose Export items... from the File menu to export the certificate and key pair.

    ExportCerticiateMenu.png

    Use the file dialog that opens to save the certificate and key pair in the form of a .p12 file.

    ExportCertificateDeveloper.png

  5. Keychain will prompt you for your password before allowing the key pair to be exported.

    SaveKeyApproval.png

    Enter your password and click Allow to continue exporting.

  6. The certificate and key pair have now been exported. Transfer the file to your PC so that they can be imported into UDK through the configuration wizard.

Retrieving a Certificate from UDK

If you are a developer who has previously set up provisioning for UDK, by generating a certificate request and key pair through the Unreal iOS Configuration Wizard and subsequently downloading a certificate and mobile provisioning profile from the iOS Provisioning Portal on Apple's Developer website, that provisioning can easily be passed around to other developers or moved to a new PC. To pass it around to different developers, you can transfer the provisioning profile, the key file, and the certificate to the new PC and then import them through the Already a registered iOS developer tab of the Unreal iOS Configuration Wizard.

Importing Existing Provision and Certificate

Once the developer certificate and provisioning profile have been generated and downloaded, they need to be imported into UDK through the Already a registered iOS developer tab of the configuration wizard.

ipp_existing_tab.png

  1. Click the ipp_import_provision_button.png button to import the provisioning profile. Use the file dialog that opens to find the provisioning profile that was downloaded previously. The green checkmark should appear once the profile has been successfully imported.

    ipp_existing_import_provision.png

  2. Next, click the ipp_import_certificate_button.png button to import the developer certificate. Use the file dialog to find the certificate and key pair that was exported from the Keychain Access application. The green checkmark should appear once the certificate and key pair have been imported successfully.

    ipp_existing_import_certificate.png

  3. Click the ipp_edit_info_plist_button.png button to open the Customize Info.plist dialog.

    ipp_existing_edit_info_plist_window.png

  4. Fill in the following information:

    • Bundle Display Name - This is the name that will be displayed on the iOS device directly under the app's icon on the home screen. You want to make sure this is a compact name so that it will fit within the allotted space without being cut off. (Example: UDN iOS Game)
    • Bundle Name - This is a condensed name used to identify the app. This should be less than 16 characters. (Example: UDNiOSGame)
    • Bundle Identifier - This should match the bundle identifier of the App ID created on Apple's Developer website previously. If you used the automatic App ID creation process through the assistant, the bundle identifier of the App ID is a wildcard (*) and the bundle identifier entered here can be anything you want. If you used the manual creation method (Advanced Provisioning) and specified an explicit bundle identifier, the bundle identifier entered here must match that one exactly. (Example: com.EpicGames.UDNiOSGame)

    ipp_edit_info_plist.png

  5. Click the ipp_edit_info_plist_save_button.png button to save the Info.plist information. The green checkmark should appear when the Info.plist has successfully been saved.

    ipp_existing_edit_info_plist_complete.png

  6. Click the ipp_package_button.png button to exit the configuration wizard.

    If you accessed the configuration wizard through the editor through the Start this Level on iPhone in the toolbar, the packing process will continue and the game will be loaded on to the connected iOS device. If no device is connected, an error will occur.

    If the configuration wizard was accessed through the Start Menu in Windows, the configuration wizard will simply close at this point. TODO - true if opened through Unreal Frontend also? - Jeff Wilson