How to Upload Your Application to iTunes Connect
IntroductionIn order to send a review request to Apple, you need to perform some operations on iOS Provisioning Site, iTunes Connect, and this Developer Site. This document describes a process, how our partner can build an application and then send a review request to Apple smoothly.
- MacOSX 10.6.8
- XCode 4.2
- Application Loader 2.5.1
The entire process in this document is as follows:
- Issuing a certificate request by key chain access
- Distribution Certificates registration at iOS Provisioning Portal
- Registering App ID at iOS Provisioning Portal
- Registering a Provisioning Profile for Distribution at iOS Provisioning Portal
- Registering application at iTunes Connect
- Registering application at Developer’s Site
- Signing an application
- Uploading your application to iTunes Connect
- How to Add In-App Purchase Items after App Store Release
From the next section, the above process will be explained.
Issuing a certificate request by key chain access
You issue a certificate request, as a preparation for Distribution Certificates, by following the process below.
- Launch Key chain access. Go and click [Application] > [Utility] > [Key chain access]
- Choose [Certificate] from [Category] at the left bottom of the [Key chain access] screen.
- From the menu bar, go and click [Key chain access] > [Certificate assistant] > [Request a certificate to Certificate Authority].
- Enter [User’s email address] and [nickname], and choose [Save in a disc] in [Processing the request], and then click [Continue] button at the right bottom of the screen with a check mark in "Specifying key pair information." (CA’s email address can remain blank.)
- Specify a file name and destination to save for [Certificate request], and then click [Save]. In the key pair information screen, set 2048 bit in the key length, and RSA in the algorithm, and click [Continue].
- When [Certificate request] is created and saved, click [Complete] at the left bottom of the screen to close it.
Distribution Certificates registration at iOS Provisioning Portal
You register Distribution Certificates in the following steps.
- Log in to iOS Dev Center. https://developer.apple.com/devcenter/ios/index.action
- Click "iOS Provisioning Portal" in the menu at the right top of the iOS Dev Center.
- After you move to iOS Provisioning Portal, choose [Certificates] from the menu at the left of the screen, and choose [Distribution] tab.
- Click [Request Certificate] button in Actions.
- When you click it, you will move to the "Create iOS Distribution Certificate" screen. Click "Select a file" at the left bottom of the screen and choose the [Certificate request] file created in the previous section, and then click [submit] at the right bottom of the screen.
- When the Distribution Certificate is created, its Status turns "Issued." Click [Download] button at the right end to download "distribution_identity.cer" file. (Reload the page, in case the Status does not turn "Issued", and the [Download] button does not appear.)
- Double click the "distribution_identity.cer" file which you downloaded, and register it in the key chain access. Choose "Category" item at the left bottom of the key chain access, and check whether there is a certificate such as "iPhone Distribution: XXXX XXXX". (The "XXXX XXXX" part shows the nickname you registered when you entered information for the certificate request.)
Registering App ID at iOS Provisioning Portal
Now you register an App ID. An App ID is needed for each application.
- When you choose [App IDs] from the menu at the left of the iOS Provisioning Portal, [New App ID] buttons is shown. Click the button.
- "Create App ID" screen is shown. Enter the three items below:
- Description: Enter a name for explaining the application. The name should be unique from other applications. Do not use symbols such as an asterisk.
- Bundle Seed ID (App ID Prefix): Leave it as "Generate New."
- Enter Bundle Identifier (App ID Suffix). You need to enter a text string which should be an unique ID in the entire Apple site. Enter a unique ID such as "com.monma.test.app.999".
- When you have entered all of these, click [Submit] button at the right bottom of the screen.
Registering a Provisioning Profile for Distribution at iOS Provisioning Portal
You register a Provisioning Profile in the following steps.
- Choose [Provisioning] from the menu at the left of the iOS Provisioning Portal, and then click [Distribution] tab, and click [New Profile] button at the right end.
- "Create iOS Distribution Provisioning Profile" screen is shown. Register each of the followings.
- Distribution Method: Choose an App Store.
- Profile Name: Enter the application name.
- App ID: The Description of the App ID created in previous section becomes available. Choose it.
- After entering the above, click [Submit] button.
- When you click the [Submit] button, they are added to the list, and then [Download] button is shown. Click it to download the file. (The file name is "<%Profile Name%>.mobileprovision".)
- Double click the mobileprovison file which you downloaded to register it to XCode organizer. Do not delete the mobileprovison file because it will be used for re-signature in ngCore.
Registering application at iTunes Connect
This section explains an application registration at iTunes Connect and preparation for a billing test using In App Purchase.
In case you perform a billing test using In App Purchase, you need to prepare Certificates and a Provisioning Profile for Development in advance because those for Distribution cannot be used for the test. You can create those for Development in the Development tab by performing a same procedure on the Certificates and Provisioning Profile created in the previous section. However, you need to specify Device to be used respectively when you create a Provisioning Profile.
Connect to iTunes Connect
You connect to iTunes Connect at the URL below. https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa
Setting Contacts, Tax, and Banking
To be able to create a Test User which can connects to Sandbox of Apple, you need to set Contacts, Tax, and Banking. If you do not plan to perform a billing test using In App Purchase, you can skip this section. This section explains minimum settings in order to create a Test User.
- Click "Contacts, Tax, and Banking" in the middle of the page.
- When the screen switches, click [Request] button at the right end of the field where "Contract Region" is "All".
- "Add New Legal Entity" is shown. Enter necessary items and click [Save] button at the right bottom.
- "Review Agreement" is shown. Check the content and put a check mark in [I have read and agree to the agreement presented above.] at the left bottom, and click [Submit] button at the right bottom.
- After checking that All (See Contract) is added to "Contracts in Process" items, click [Done] button at the right bottom, and go back to the main screen of iTunes Connect.
Registering Test User
This section explains the registration of Test User. You can skip this section if you do not plan to use Test User.
- Choose "Manage users" in the middle of the iTunes Connect page.
- "Select User Type" screen is shown. Click "Test User" icon.
- Click [Add New User] button at the left top of "Manage Test Users" screen to create a new Test User.
- Enter necessary information and click [Save] button at the right bottom, then a new Test User is created.
Important point: If you register at [Store] from [Settings] in iPhone or log in to App Store or iTunes with this Test User, it will not be Test User any longer.
Billing test procedure using Test User
This section explains a billing test procedure using Test User in iPhone and etc. You can skip this section if you do not plan to perform such test.
- You sign or re-sign your application using Certificates and a Provisioning Profile for Development.
- In case you have logged in to [Settings] -> [Store] in iPhone with a certain account, click [Sign out] to sign out before starting this procedure.
- You log in to the application and launch it, and then tap [BalanceButton] or purchase an item with a low balance, and then tap [To Purchase page] button.
- It switches to "Virtual currency purchase" screen. Tap the amount you want to purchase. Purchase confirmation screen is shown. Tap [Next] button.
- You are prompted to enter Apple ID and Password. Enter those using the Test User you created.
Before signing out with an Apple ID in the above point 2, you need to sign in with an Apple ID for Japan, and make an access to App Store, then sign out. Otherwise, you may fail in the virtual currency purchase processing.
- Click "Manage Your Applications" in the middle of the iTunes Connect page.
- "Manage Your Apps" screen is shown. Click [Add New App] button at the left top.
- "App Information" is shown. Set the followings.
- App Name: Enter the application name.
- SKU Number: Enter a unique ID.
- Bundle ID: The Bundle Identifier you entered in the "App ID registration at iOS Provisioning Portal" section becomes available to choose. Choose Bundle Identifier.
- After you finish entering them, click [Continue] button at the right bottom of the screen.
- A screen where you can set an application release date is shown. Set as follows:
- Availability Date: Enter the date when your application is published on the App Store. You can change it later, so that we recommend you to enter a future date as far as possible.
- Price Tier: Choose an application price.
- When you finish entering them, click [specific stores] at the bottom of the screen and set a region to distribute. You can choose which country’s App Store to publish your application. Check Japan only.
It is against DeNA’s terms if the distribution region is different from that of Developer’s Site.
- Click [Continue] at the right bottom to proceed to the next screen.
- A screen where you can enter application information is shown. Enter the followings. Four main headings; Metadata, Rating, EULA, and Uploads are explained below respectively.
Metadata is entered as follows:
Enter version number. (You can set this number on your own.)
Enter introductory texts of your application within 4000 bytes. The texts will be published as an introduction of your application in iTunes. (You can enter texts on your own.)
Enter a main category. In App Store, your application will be shown in the category you selected. (You can choose one on your own.)
Secondary Category (optional)
Enter a sub category. In App Store, your application will be shown in the category you selected. (You can choose one on your own.) (Optional)
Enter one or more keywords which explain your application. Enter them with comma delimited. Keywords will be used as search keywords in App Store. "mobage" "モバゲ" "モバゲー" must be entered. (You can enter keywords on your own, except for "mobage" "モバゲ" "モバゲー".)
Enter a name of an individual or an organization that has a possession right of the application. Copyright mark is not included. (Example : Abcd Co., Ltd.) You do not have to enter DeNA information here.
Contact Email Address
Enter an email address in which you receive a contact from Apple, in case there is a problem in the application. This email address will not be published in Apple Store. (You can enter this item on your own.)
Enter a link to an inquiry form about the application. Specify the URL of the page you created.
App URL (optional)
Enter a URL of a web site of detailed information for application users. (You can enter this item on your own.) (Optional)
In Review Notes, describe an account for production and IAP flow as follows. *(Mandatory)*Please note that Apple will reject your application if you do not enter the following data. The following data is only an example, please update it accordingly to your application specification. For Login and Password, please provide credentials for production environment.
* Login account information Login ID (Title "メールアドレス"): ----@i.softbank.jp Login Password (Title "パスワード"): ---- * Use In-App-Purchase flow: 1. launch Application. 2. do login. 3. touch the dog icon in the lower left corner of the screen. 4. touch "Shop" button on navigation popup. 5. touch "Let us have fun with the Farm!" list link. ||
Rating is entered for the purpose of rating for parental control of the application in App Store.
Enter End User License Agreement (EULA) if you want to provide one other than the standard EUAL provided by Apple. Detail is skipped here.
You register an application icon image and screen shots in Uploads. These images will be published on App Store. When the registration is done, click [Save] button at the right bottom.
|Regarding the icon images, create and upload them according to the following guideline "1-2 Application icons"|
When you click [Save] button the right bottom of the screen, the application information you registered is shown. Check if the application is correctly registered, and then click [View Details] button at the left bottom of the screen.
Registering In App Purchase
You must register In App Purchase in case you use it. You can skip this section if you do not plan to use the billing function.
In order to use the billing functionality by In App Purchase in MobageSDK, five types of Tier;
[Tier 3, Tier 6, Tier 12, Tier 35, Tier 51]
need to be registered. Tier registration procedure is explained below.
- Click [Manage In-App Purchases] button at the right of "App Information" and then click [Create New] button at the top left.
- "Select Type" screen is shown. Click [Choose] button in "Consumable".
- Details, Pricing and Screenshot are shown as major items in "In-App Purchases" setting screen. You need to set each of them.
- Details settings
Selection, Setting, Input value
Please chose a name which is easy for you to manage. (This value will not be shown to user, but will show on market report)
The Product_id registered here should be also registered at Mobage Developers Japan.
Please set up the Product ID between 64 characters.
Cleared for Sale
Please confirm the Tier at Mobage Developers Japan.
Please select the Tier you want to use from Mobage Developers Japan (You need at least 1)
Selection, Setting, Input value
Language to Add
Please register the GamePoint name.
It will be shown to user on purchase. (Please see "Registering Display Name" for more details)
Please make sure the description is explains that the game point can only be used for this application.
- Pricing Settings
1. Cleared for Sale: Choose "Yes".
2. Price Tier: Choose an appropriate Tier.
- "Screenshot for Review" Settings
1. Click [Choose File] button and choose a 320 x 460 image which is necessary for the review. This image will not be shown in App Store. For the Apple review, capture the screen when the billing finishes at the billing test using In App Purchase, and set it.
When you finish entering all of them, click [Save] at the right bottom of the screen and enter next Tier. After entering six of them, go to "Developer’s Site for Mobage Open platform."
- Registering Display Name
Register the Display Name in iTunes Connect as "(GamePoint Name) : A Set" , "(GamePoint Name) : B Set" for every Tier.
（Example）GamePoint Name is "Kaitou Coin"
To be able to upload a binary file of the application, the status of the application should be [Waiting for Upload].
Click the [View Details] button at the left bottom of the screen.
If the application uses the billing API by using In App Purchase in MobageSDK, click the right [Edit] button in the [In-App Purchase] section, which is in the second from the bottom in [View Details] page. You will see the [Edit In-App Purchases] screen and the list of the In-App Purchase items that are already registered with the checkboxes. Check the all checkboxes, and then click [Save] button.
Click [Ready to Upload Binary] at the right top of the screen.
You will be asked if encryption technology is used in the application which is being registered. MobageSDK uses HTTPS and HMACSHA1 encryption so incase you are not using other type of encryption, please select the following answer.
Is your product designed to use cryptography or does it contain or incorporate cryptography?
Does your product qualify for any of the exemptions provided in Category 5 part 2?
Incase the second question is "NO" please select the appropriate answer for other questions.
Regarding the following questions about IDFA, please set as follows.
Does this app use the Advertising Identifier (IDFA)?
Serve advertisements within the app
Attribute this app installation to a previously served advertisement
Attribute an action taken within this app to a previously served advertisement
Limit Ad Tracking setting in iOS
Confirm and check
Click [Continue] button at the right bottom, then the application status turns to be "Waiting for Upload". Check it and click [App Summary] button at the top left.
Registering application at Developer's Site
- About Game Point for In App Purchase
Please select the Tier you want to use from Mobage Developers Japan, if you are planning to sell GamePoint as In App Purchase.
The In App Purchase menu presented to the user, will only show the Tier that you have registered at Mobage Developers Japan.
＊The Game Point Amount and Price could be changed.
Game Point Amount
Do you want to buy KaitouCoin : A Set for ￥X ?
Do you want to buy KaitouCoin : A Set for ￥Y ?
- About inputing information to Mobage Developers Japan
Input the information from iTunes Connect to the application settings at Mobage Developers Japan.
At the menu on the left, choose [Manage Application] and the application that you need to register, and choose [iOS Application Settings] tab.
Game Point name
The Game Point name shown to user
Units of virtual currency
The units of Game Point shown to user
Product ID of virtual currency
The settings for each Product_ID (Please see "Product ID and Display Name settings" for more details)
Display Name of virtual currency
The settings for each Display Name (Please see "Product ID and Display Name settings" for more details)
Additional precautions regarding IGCs
Can add additional precautions regarding to Game Point
Additional FAQs regarding IGCs
Can add additional FAQs regarding to Game Point
Product ID and Display Name settingsProduct ID of virtual currency can be set. Enter a Product ID which you created in the previous section for each Tier. If you use Tier, you must enter five types of product IDs. If not, leave all of them blank.
Info.plist settings (in case of ngCore)
In case of ngCore, Info.plist needs to be set. Click [to Info.plist setting] button.
Info.plist setting screen is shown. Click Edit button to see the edit screen below. Each item can be set as follows.
- Upload an icon image. It will be shown on iPhone. It is a onefold icon (for iPhone 3G and 3GS) and a twofold icon (for iPhone4).
As for the icon image, create and upload it according to the following guideline "1-2 Application icons"
- CFBundleIdentifier: Enter the Bundle Identifier created in the section "App ID registration at iOS Provisioning Portal." (Important point: Do not include a single-byte space. It will result in a failure of uploading to iTunes Connect.)
- CFBundleDisplayName: Enter an application which will be listed in the iPhone menu.
- It is to choose whether you add a glossy effect on the icon or not. If "true", it will be shown with a glossy effect; however, be sure to set "false".
- When you finish entering all of them, click [Verify Contents] button in 5.
Uploading / downloading an application (in case of ngCore)
In case of ngCore, you need to upload a build to Developer’s Site and to download Sandbox and an app file for actual release. For details, check "iOS Apps" in the following link.
Application upload and Sandbox operational test
Signing an application
Re-signing (in case of ngCore)
In case of ngCore, the app file downloaded from the Developer’s Site needs to be re-signed. Re-signature requires different tools depending on cases if a remote notification function is used or not.
Re-signature is needed to link an account of iOS Provisioning Portal and an.app file and then upload them to iTunes Connect. (Unzip the zipped file before starting the re-signature process.)
In case a remote notification function is not used.
Download the following tool and re-sign according to the example.
- Re-sign tool for Distribution
usage: re-sign-distribution.sh <application> <mobileprovision> <identity> <appPrefix> <bundleId> example: re-sign-distribution.sh webgame.app test.mobileprovison "iPhone Distribution:Fumiaki Monma" ABCDEFG my.bundle.id
In case a remote notification function is used
Download the following tool and re-sign according to the example.
- Re-sign tool for Notification
usage: $sh re-sign-notification.sh <application> <mobileprovision> <identity> <appPrefix> <bundleId> <environment: development or production> // For Sandbox, use it as follows. example: $sh re-sign-notification.sh webgame.app test.mobileprovision "iPhone Developer: Dan Weeks (ABCDEF1234)" ABCDEFG my.bundle.id development // For Production, use it as follows when you upload it to iTunes Connect. example: $sh re-sign-notification.sh webgame.app test.mobileprovision "iPhone Distribution: Dan Weeks" ABCDEFG my.bundle.id production
Detailed explanation on the above commands
- Enter a path of the .app file downloaded in the previous section.
- Enter a path of the file with an extension of mobileprovision, which was downloaded in the section "Distribution Certificates registration at iOS Provisioning Portal."
- Enter a nickname of the certificate created in the section "Distribution Certificate registration at iOS Provisioning Portal."
- Enter Bundle Seed ID (App ID Prefix) which is automatically created in the section "App ID registration at iOS Provisioning Portal." There are text strings of "BundleSeedID" and "BundleID" in the Description of App IDs at iOS Provisioning Portal. Enter "BundleSeedID" only.
- Enter the above "BundleID" only.
- <environment: development or production>
- Specify "development" in case of development, and specify "production" in case of actual release.
Signing (In case of Native / Unity)
You create a Distribution build using XCode4.
Uploading your application to iTunes Connect
This section explains how to upload your application to iTunes Connect using Application Loader. If you use Native or Unity SDK, upload it from the Organizer of XCode4.
Use the Application Loader in the following process.
- Launch Application Loader.app installed at /Developer/Applications/Utilities/
- When you launch it, a message [Welcome to Application Loader] is shown. Read the disclaimer and agree to it, and then click [Accept] button.
- Enter Apple ID and Password at iOS Dev Center and click [Next] button.
- Click [Next] button once again.
- Click [Deliver Your App] button.
- A screen to choose an application to upload to iTunes Connect is shown. Choose the application from the pull-down.
- A confirmation message is shown. Click [Yes] button.
- Click [Choose…] button and choose the file which was zipped earlier.
- Click [Send] button. If the application is uploaded, you succeeded in the uploading.
- In order to check if the application has been uploaded, go to iTunes Connect > [Manage Your Applications] > click your application. If the Status is "Waiting For Review", it has been uploaded.
The uploading process is done for now.
How to Add In-App Purchase Items after App Store Release
Items can be added to an application after its release via the following steps. Note: do not register the Game Point Product ID first.
- Register an in-app purchase item on iTunes Connect in the same way as the initial registration. When registering the screenshot, you can use the “in-app purchase complete” screen that is already registered.
- Once the item is registered, select the box to the left of the item on the In-App Purchase list screen.
- Click the [Submit for Review] button to submit the item for review.
- Even if the item is not reflected in the game, wait until the review is complete, as it will be approved by just the in-app purchase item review.
- Once the review is complete, enter the Product ID on the Developer’s Site.
- It will appear in the production environment immediately. Perform a test purchase to check it is working correctly.
- Updated the tool for re-signature. re-package-v1.2.3.zip
- Updated the tool for re-signature.
- Changed the tool for re-signature from Re-sign tool to Re-package tool.
- Added setting about IDFA
- Added Product ID character limitation.
- Added notice for Review Notes.
- Added "How to Add In-App Purchase Items after App Store Release".
- Fix re-sign-distribution.sh
- Modify typo
- PDF material was deployed on the page.
- Initial Release.