UDN
Search public documentation:

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

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 > Distributing iOS Applications

Distributing iOS Applications


Overview


There are a few extra steps require to distribute games developed for Apple's iOS platform, especially if you wish to submit them to the App Store. Like the process of setting up development provisioning, distribution requires jumping back and forth between Apple's developer site and applications on your computer. This document walks you through the process of preparing and submitting your application to the App Store once development is complete.

ALERT! IMPORTANT: You must have a Mac with Application Loader installed in order to complete the App Store submission process.

Distribution Provisioning


The distribution build requires a new mobile provision and signing certificate from Apple. These are different from the development certificate and mobile provision.

Generating Distribution Provisioning

The steps for getting these are nearly identical to the steps for getting a development mobile provision and signing certificate through the iOS Provisioning Portal, except that the Distribution tab is used instead on the iOS Provisioning portal web site.

See the following sections of the iOS Provisioning Portal Overview page for complete details:

Installing Distribution Provisioning

  1. Launch the GUI of the iPhonePackager tool (Accessing Unreal iOS Configuration Wizard). The Unreal iOS Configuration Wizard should appear.

    UnrealiOSConfigurationWizard.png

  2. Click the ipp_provisioncert_button.png button to open the Provisions and Certs tab of the Unreal iOS Configuration: Signing Tool.

    ipp_signingtool_provisionscerts.png

  3. Click the ipp_import_provision_button.png button to import the distribution profile. Use the file dialog that opens to select your distribution mobile provisioning profile. Whether the import process was successful will not be immediately apparent. However, if you click the ipp_refresh_button.png button, the new provisioning profile will be displayed.

    ipp_signingtool_provisionimport.png

  4. Click the ipp_import_cert_button.png button to import the distribution certificate. Use the file dialog that opens to select your Distribution certificate. A message box prompting you to import your key pair file will appear.

    ipp_signingtool_keypair.png

    Click OK and use the file dialog that opens to find the key pair file. Again, you will have to click the ipp_refresh_button.png button for the new certificate to be displayed.

    ipp_signingtool_certimport.png

Required Assets and information


Replacing App Icons

Replacing the standard UDK logo app icon with your own custom icon can be done with very little effort. iOS apps use a collection of different icon images of varying sizes. The correct icon is chosen depending on where it is being displayed. These are all stored in a specific folder and packaged with the game when built with UnrealFrontend. Replacing each of these icons with your own custom icons for your game will result in the custom icons being packaged with the game and used instead.

The following images should be replaced with identically named and sized images:

  /UDKGame/Build/IPhone/Resources/Graphics/Icon%402x.png
  /UDKGame/Build/IPhone/Resources/Graphics/Icon.png
  /UDKGame/Build/IPhone/Resources/Graphics/Icon-72.png
  /UDKGame/Build/IPhone/Resources/Graphics/Icon-Small%402x.png
  /UDKGame/Build/IPhone/Resources/Graphics/Icon-Small.png
  /UDKGame/Build/IPhone/Resources/Graphics/Icon-Small-50.png
  

More information about iOS application icons can be found on the App Icons on iPad and iPhone page of the iOS Reference Library.

Application Info

While in iPhonePackager, you should also review your display name and bundle identifier by using the "Edit Info.plist overrides..." button on the "Already a registered iOS developer tab", to make sure they are correct. If you want to override some Info.plist settings, but only for distribution builds, then you can edit the Distro_UDKGameOverrides.plist file instead of the UDKGameOverrides.plist file.

iTunes Artwork

You will need a 512x512 image which will be the artwork displayed for your application in iTunes. This is usually a larger version of the application icon. This image must be one of the following formats and dimensions:

Formats Dimensions DPI Color Space
.jpg, .jpeg, .png, .tif .tiff 512x512 72+ dpi RGB

Screenshots

You will also need at least one iPhone or iPod Touch screen shot and one iPad screenshot. The formats and dimensions allowed are as follows:

Device Formats Dimensions DPI Color Space
iPhone/iPod Touch .jpg, .jpeg, .png, .tif .tiff 320x480, 480x320, 320x460, 640x960, 960x640 72+ dpi RGB
iPad .jpg, .jpeg, .png, .tif .tiff 768x1024, 1024x768, 748x1024, 1004x768 72+ dpi RGB

Creating the distribution IPA


Your game needs to be packaged into an IPA to be used by iOS devices and to be submitted and uploaded to the App Store Packaging games is done through the UnrealFrontend application.

ipa_unrealfrontend.png

  1. Click the ipa_configuration_button.png button to open the configuration settings:

    ipa_configuration_window.png

  2. Make sure the settings are as follows:

    ipa_configuration_iphone.png

    Game Platform Game Config Script Config Cook/Make Config
    UDKGame IPhone Shipping_32 ReleaseScript Shipping_32

    Click the ipa_configuration_ok_button.png button to save the settings.

  3. The Mobile section should now be visible if it was not previously.

    ipa_mobile_section.png

    Change the Packaging Mode to Distribution.

    ipa_mobile_distribution.png

  4. Next, you need to add all the maps that need to be packaged into the application. This can be done in the maps section:

    ipa_maps_section.png

    Click the ipa_maps_add_button.png button. A window will open listing all existing maps in the current game project.

    ipa_maps_add_window.png

    Select all the maps in the list you want to add:

    ipa_maps_add_selected.png

    Click the ipa_maps_addselected_button.png button to add the maps and close the window. The maps should now be listed in the maps list:

    ipa_maps_section_complete.png

  5. Make sure to set the map to be loaded by default:

    ipa_maps_default.png

  6. Click the ipa_cook_button.png button, which will bring down a drop-down, and select Clean and Full Recook.

    ipa_cook_menu.png

    The ipa_ufe_working.png graphic will display while the cooking process is in progress. Once complete, the output window will show the results.

    ipa_cook_output.png

  7. Click the ipa_package_button.png button, which will bring down a drop-down, and select Package iOS App.

    ipa_package_menu.png

    The ipa_ufe_working.png graphic will display while the packaging process is in progress. Once complete, the output window will show the results.

    ipa_package_output.png

    Note: When Packaging Mode is set to Distribution, it will generate IPAs that can only be uploaded to the app store. They cannot be installed on your iOS device. Therefore, if you click on Start, everything will go smoothly until the final Deploy step, which will fail. If you want to test that you have all of the correct maps, etc..., then you can switch Package Mode back to Default and hit Start again.

    When the package step is done successfully, you should have a file named Distro_UDKGame.ipa in the following directory:

      [UDK install path]\Binaries\IPhone\Shipping-iphoneos\UDKGame
      

    This is the file to be uploaded to the application store throught he Application Loader program.

Submission and uploading


iTunes Connect

The next part of the submission process requires using iTunes Connect. iTunes Connect is an area of the iOS Dev Center on Apple's Developer website that has tools for managing applications for submission and tracking stats about those applications already in the App Store.

NOTE: You can click the itunes_connect_info_button.png button next to any field on the app submission pages for an explanation of that field or piece of information.

  1. iTunes Connect is accessed by logging into the Apple iOS Dev Center and clicking the "iTunes Connect" link on the right hand side.

    step0_getting_to_iTunes_Connect.png

    If this is your first time using iTunes Connect, you will be greeted with a Terms of Service page.

    itunes_connect_tos.png

    You must agree in order to continue. Check the box to agree and then click the itunes_connect_agree_button.png button to continue to the iTunes Connect home page.

    itunes_connect_agree_check.png

  2. Click Manage Your Applications, shown highlighted below:

    itunes_connect_home.png

    This should take you to the Manage Your Apps page. If this is your first app submission, the list of apps will be empty.

    itunes_connect_manage_apps.png

  3. Click the itunes_connect_add_app_button.png button to begin the process of adding a new app. If this is your first app submission, this will take you to the New Application page.

    Enter the following information:

    • Primary Language - Choose the language you wish to use when entering the information for your app submissions with this developer account.
    • Company Name - Enter the name of the company you want associated with all apps you submit using this developer account.

    itunes_connect_newapp_step1.png

    Click the itunes_connect_continue_button.png button to submit the information. A message box will appear confirming this information is correct as it cannot be changed after it is submitted.

    itunes_connect_newapp_step1_confirm.png

    Click OK if the information is correct to continue to the App Information screen.

  4. Enter the following information about the app you are submitting:

    • App Name - Enter the name of the app as you want it known in the App Store.
    • SKU Number - Enter a unique (within your submitted apps) number used to identify the app being submitted.
    • Bundle ID - Choose the Bundle ID you want associated with this app.

    itunes_connect_newapp_step2.png

    Click the itunes_connect_continue_button.png button to move on to the Rights and Pricing screen.

  5. Enter the following information:

    • Availability Date - Set the date at which the app will first appear in the App Store.
    • Price Tier - Choose a price for the app.
    • Discount for Educational Instituations - Check whether educational instituations should get discounts on the app.

    itunes_connect_newapp_step3.png

    Click the itunes_connect_continue_button.png button to move on to the Version Information screen.

  6. Enter the following information:

    Metadata

    • Version number - Enter the version number for the app (e.g., 1.0, 1.01, etc.)
    • Description - Enter a descript of the app being submitted. include features and functionality. Must be less than 4000 bytes.
    • Primary Category - Choose a category that best describes the app being submitted.
      • Subcategory - Choose two subcategories within the category above.
    • Keywords - Enter some keywords that describe the app being submitted. These are used when users search the App Store. Must be less than 100 bytes.
    • Copyright - Enter the name of the person or entity that owns the exclusive rights to the app, preceded by the year the rights were obtained. (e.g., 2010 Epic Games, Inc.
    • Contact Email Address - Enter an email address users can contact for support. (e.g., support@example.com)
    • Support URL - Enter a URL where users can go to get support for the app. (e.g., http://support.example.com)

    Rating

    Answer the questions about the contents of your game using your best judgement.

    EULA

    Use Apple's standard app EULA for the app you are submitting.

    Images

    • Large 512x512 Icon - Upload your itunes artwork image.
    • iPhone and iPod Touch Screenshots - Upload your iPhone/iPod Tuch screenshots.
    • iPad Screenshots - Upload your iPad screenshots.

    (Click for full size)
    itunes_connect_newapp_step4_small.png

    Click the itunes_connect_save_button.png button to save the app's information. This will take you to the App Summary page for the app.

    itunes_connect_newapp_step5.png

  7. Click the itunes_connect_details_button.png button to view the App Details page for the app.

    (Click for full size)
    itunes_connect_newapp_step6_small.png

    You can click the itunes_connect_edit_button.png button to edit any of the information displayed on this page.

  8. Click the itunes_connect_upload_button.png button to proceed. An Export Compliance screen will be displayed.

    itunes_connect_newapp_step7.png

    Specify whether encryption is used in your app and then click the itunes_connect_save_button.png button to continue. A new screen explaining that you are now ready to upload your app through the Application Loader will appear.

    itunes_connect_newapp_step8.png

    Click the itunes_connect_continue_button.png button to continue.

  9. You should be taken back to the App Details screen, only now the itunes_connect_upload_button.png button no longer appears and the app's status has now changed to Waiting For Upload.

    (Click for full size)
    itunes_connect_newapp_step9_small.png

    Click the itunes_connect_summary_button.png button to return to the App Summary screen. It should also show the app's status as Waiting For Upload.

    itunes_connect_newapp_step10.png

    Click the itunes_connect_done_button.png button to complete the process. You should be taken back to the Manage Your Apps screen, where the new app is now displayed.

    itunes_connect_newapp_step11.png

The next step is to actually upload the distribution IPA throught he Application Loader.

Application Loader

Uploading your distribution IPA requires a computer running OSX with the Application Loader installed. Application Loader should be installed as part of the iOS development SDK; however, it can be installed and accessed in other ways as well.

To install the latest version of Application Loader, you can:

  • Download Application Loader from iTunes Connect within the Manage Your Applications module.
  • Access Application Loader from your Utilities folder (/Developer/Applications/Utilities/ApplicationLoader.app) if you have installed iOS SDK 3.2 or later.
  • Access Application Loader from Xcode, delivering your binary directly from Xcode. For more information on this delivery mechanism, review the iOS Development Guide.

  1. Transfer the distribution IPA file you created (e.g., Distro_UDKGame.ipa) to the Mac with Application Loader installed.
  2. Launch the Application Loader program.
  3. Inside the Application Loader program, select Open... from the File menu.

    step7_apploader_1.png

  4. Choose the application which is currently Waiting For Upload for which this IPA should be uploaded.

    step7_apploader_2.png

    NOTE: If you get the 'no valid apps' message, make sure your app's status is Waiting For Upload on the iTunes Connect site. if it is not, go through the steps of preparing your app for upload.

    Click Next to continue.

  5. Confirm that you have tested the IPA on a device running iOS 4 by clicking Yes.

    step7_apploader_3.png

  6. Select the distribution IPA and click Send to begin the upload.

    step7_apploader_4.png

    When the upload is complete, click Next to proceed.

    step7_apploader_5.png

  7. The upload process is now complete.

    step7_apploader_6.png

    Feel free to log back in to iTunes Connect and got the Manage Your Applications page to check that the status of your app has changed accordingly.

Resolving issues

You will get progress e-mails as the application passes through various phases of automated checking, finally reaching "Waiting for Review", which means it is now in the submission queue for the final Apple review. If something is wrong, you will get an e-mail, but the status will also be updated on the iTunes Connect web site. Each time something is incorrect, you will have to hit "Ready to Upload" on the iTunes Connect website before the Application Loader can be used again.