1. Home
  2. Knowledge Base
  3. iOS
  4. Publish your iOS game to iTunes

Publish your iOS game to iTunes

Enroll to Apple Developers

In order to publish your game to iTunes you’ll need an apple developer account first. Please see below what’s needed.

What you need?

  • At least one test device (an Iphone or an Ipad, best is to have both, a phone and a tablet)
  • A Mac Computer
  • XCode installed on a Mac Computer
  • An active membership for iTunes Connect

Choose the membership

There are a few options available for the Apple Developer Membership. If you want to learn more, please see Apple’s Support page.

[creativ_button url=”https://developer.apple.com/support/membership/” icon=”book” label=”Apple Developer – Membership” colour=”blue” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

Then choose your wished membership and enroll here.

[creativ_button url=”https://developer.apple.com/support/compare-memberships/” icon=”user” label=”Apple Developer – Enroll” colour=”blue” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

Just scroll to the wished membership and click on “Learn about enrollment”. Once you have finished the enrollment and paied the fee, it may take 6-24h till your account goes live. You’ll be notifed by Apple then.

Generate your Certificates

Just to be sure...

For all further steps of this guide you must have an active membership for Apple Developers. Otherwise you will not have access to the linked pages.

Generally

There are two types of certificates available, one for Produktion (uploading your game to the store) and one for Development (in order to test your game without the iTunes Store). In order to create and manage your certificates, please visit your Apple Developer Account by clicking the button below.

[creativ_button url=”https://developer.apple.com/account/” icon=”user” label=”Apple Developer” colour=”blue” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

Then click on “Certificates, Identifiers & Profiles”

ios_itunes_certificates

Create a new certificate

Befor you can start uploading your apps to the store, you going to need at least one certificate of each kind. The following guides will show you how to create them. But note, you must perform those steps on your mac computer!

Development

Select the “Development” tab in your certificate overview and click on the “+” symbol in order to add a new certificates.

ios_itunes_certificates_dev_add

Then select “iOS App Development” and click on continue.

ios_itunes_certificates_dev_1

Then follow the instructions and create the “CSR” file.

ios_itunes_certificates_dev_2

After you have created this file, upload it in the next step.

ios_itunes_certificates_dev_3

Then the platform will generate your certificate, which you can download afterwards.

Production

This basically works the same. The only diffrent is, that you have to select “App Store and Ad Hoc“.

ios_itunes_certificates_prod_1

Identifiers

Identefiers must be created for each app you want to upload to the store. Those identifieres will later connected to your app submission.

Create an Identifier

In order to create an identifier, select the “App ID” tab and click the “+” smybol.

ios_itunes_app_id_add

 

App ID Description

This can be anything. It’s just needed to identify it later. I recommend you to use the app name. My next game is called “Triangle”, so I add this name.

ios_itunes_app_id_1

 

App ID Prefix

This value will be generated automatically.

 

App ID Suffix

Choose here “Explicit APP ID” and enter your Bundle ID.

ios_itunes_app_id_2

The set Bundle ID must match the one you used in your Cocoon.IO iOS settings!

 

App ID Services

Select the services you want to use with your app and click on Continue.

ios_itunes_app_id_3

Then review your information and click on Register.

ios_itunes_app_id_4

After that, your new identifier will be added to the list.

 

Your Devices

In this section you can register your Apple Devices as Test Devices. In order to do so, click the “+” symbol.

Add a new Device

Enter a name to identify your device later and the UDID of the device.

ios_itunes_devices_1

Find out your Device UDID

The UDID

In order to find out the UDID of your device, connect it to a computer running iTunes. Then click on the serial number till the UDID shows up.

ios_itunes_devices_2

Copy this number and add it in the corresponding field and click on “Continue“.

Provisioning Profiles & p12

Provisioning Pfrofiles

General

Those profiles are needed to sign your application.

Add a Provisioning Profile

Development

Select the “Development” tab in your Provisioning Profiles overview and click on the “+” symbol in order to add a new Provisioning Profile.

ios_itunes_provisioning_profiles_add

Then select “iOS App Development” and click on continue.

ios_itunes_provisioning_profiles_1

Then select your App ID and click on Continue.

Hint!

The Wildcard can be used for any APP ID, but the one associated with an APP ID can only be used for the chosen APP ID. I recommend to create a PP for each APP ID and one WildCard PP. Basically you can use the WildCard for every APP ID, so it’s the easiest to only add an Ad Hoc and an App Store Wildcard PP.

ios_itunes_provisioning_profiles_2

Then select your Development Certificate and click Continue.

ios_itunes_provisioning_profiles_3

Then the device(s) you want to use for testing and click on Continue.

ios_itunes_provisioning_profiles_4

Give it a proper name in order to identify it later, then click Continue.

ios_itunes_provisioning_profiles_5

Now you can download it, save it and install it on your Mac or/and upload it to CocoonIO.

Production

This basically works the same. The only diffrent is, that you have to select “App Store” and “Ad Hoc” (yes, add two diffrent PP’s).

ios_itunes_provisioning_profiles_prod_1

Then select your wished APP ID and click on Continue.

ios_itunes_provisioning_profiles_prod_2

Select your Production Certificate and click on Continue.

ios_itunes_provisioning_profiles_prod_3

Then give it a proper name and click on Continue in order to download your PP. Save it, install it and upload it to CocoonIO (if you want to).

ios_itunes_provisioning_profiles_prod_4

p12

You’ll need a certificate for Production and for Development.

ios_certifcates

Just click on the corresponding tab (Development or Production) and follow the steps to create a certificate for it.

[creativ_alertbox icon=”info-sign” colour=”blue” custom_colour=””]It’s not necessary to add an iOS key to your CocoonIO Account. If you do not select any key, you’ll get a xcode archive file. Open this with XCode and you can export your Game for production / development as well. But if you do add a a key, you will directly get an .ipa file.[/creativ_alertbox]

Provisioning Profile

In order to get your Provisioning Profile open XCode on your Mac Computer and select Preferences.

ios_xcode_provisioning_profile_pref

Then select your Developer Account and click on View Details.

ios_xcode_provisioning_profile_details

Then perform a right-mouse click on your certificate and click on Show in Finder.

ios_xcode_provisioning_profile_finder

Hint: Rename it for better identification.

p12 Certificate

Open the Keychain Access application (in the Applications/Utilities folder) and select your certificate.

ios_export_p12_export

If the shown entries are missing, download your certificates from your Apple Developer Account first and then perform a double click on the corresponding certificate. This will add it to the Keychain Access App.

Perform a right mouse click on the corresponding certificate and choose “Export”.

ios_export_p12_name

Give it a proper name, so it can be identified later.

ios_export_p12_password

Then add a password. This password is the password you have to enter at CocoonIO or Intel XDK.

Congratulation!

So now you have added all you need in order to start uploading your first game to iTunes.

Itunes Connect

Dashboard

In order to upload and manage your games, please visit the Itunes Connect Dashboard and sign in with your Apple ID.

[creativ_button url=”https://itunesconnect.apple.com” icon=”user” label=”iTunes Connect – Dashboard” colour=”blue” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

Once you have logged in, you’ll see following dashboard.

ios_itunes_connect_dash

Learn more

Firstly I want to describe all the shown icons (and sections) above.

My Apps

Here you will find an overview of your apps. Moreover you can manage existing apps or upload new ones.

 

App Analytics

Should be self-explaining. Here you can have a sight into the analytic data of your apps, like downloads, active users and so on.

 

Sales and Trends

Data from your InApp or App sales.

Payments and sales Reports

Payments from your InApp or App sales.

iAd (deprecated)

It seems that iAd is not longer supported by Apple. Correct me if I’m wrong.

“iAd App Network will be Discontinued The iAd App Network will be discontinued as of June 30, 2016. Although we are no longer accepting new apps into the network, advertising campaigns may continue to run and you can still earn advertising revenue until June 30. If you’d like to continue promoting your apps through iAd until then, you can create a campaign using iAd Workbench. We will continue to keep you updated, but if you have any questions, contact us.” Notification by Apple

 

User and Roles

Here can you manage your users and their roles. Moreover you can setup and add Sandbox Test Accounts there, in order to test functions like InApp Purchases and so on.

 

Contracts, Taxes and Bank Transfer

This section is one of the most important one. Befor you start, fill out ALL needed information. Otherwise some features like InApp Purchase aren’t available. But more later.

 

Ressources and Help

Browse Apple’s Help page whenever you stuck on something.

Contracts

Before you can start uploading your game for the Apple iTunes Store, please complete all needed contracts.

[creativ_button url=”https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/da/jumpTo?page=contracts” icon=”pencil” label=”Contracts & Tax” colour=”theme” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

ios_itunes_connect_contracts

Note

You cannot add stuff like “InApp” Products without setting up the Tax Contract!

Build your Application

If you have setup your iTunes Account and if you have added all needed contracts, you can start build and upload your first App to the Apple iTunes Store

[creativ_button url=”https://cocoon.io/” icon=”heart” label=”Build with cocoon.io by Ludei” colour=”red” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

We offer a guide showing you how to build your games using Construct 2 and Ludei’s CocoonIO. If you are new to that, please visit the guide and build your first application for Android and iOS!

[creativ_button url=”knowledgebase/cocoonio/” icon=”book” label=”Construct 2 – How to build with CocoonIO” colour=”blue” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

Why build with CocoonIO?

ludei-rectangle-white

CocoonIO is a services provided by Ludei offering following features:

  • Has the best performance for mobile games build with Construct 2 (using Canvas+)
  • Free Construct 2 Plugins for Ads, InApp, and Social Services like Facebook, Google Play Games and GameCenter
  • A growing and helpful community
  • An online documentation
  • An easy to use platform
  • Small application size

Up to now Ludei offers the best way to get your mobile games to Android and iOS. Moreover Ludei is working hard to improve their platform and their services! So give it a try and register a free account here.

[creativ_button url=”https://cocoon.io” icon=”heart” label=”CocoonIO” colour=”red” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

Upload a Build

There are two ways to upload your binary to the iTunes Store. Choose the one you prefer the most.

Via XCode

Prepare

For this option, please deselect the iOS signning key in your CocoonIO Project.

ios_itunes_connect_build_1

Then “Compile” your game in CocoonIO.

XCode

When the compilation has finished, download the iOS build from CocoonIO and unzip it on your Mac Computer. You’ll get a “.xcarchive” file then.

[creativ_accordion][creativ_toggle accordion=”1″ icon=”book” heading=”Old” onload=”closed”]

ios_itunes_connect_build_2

Double click the archive file in order to open it mit XCode.

ios_itunes_connect_build_3

Hint!

If you cannot see the archives, click on >>Window >>Orginzer, then the overview of your archives will be shown.

ios_itunes_connect_build_4

Click “Upload to App Store…” in order to upload this binary to your iTunes Connect Dashboard.

Select “Save for Ad Hoc Deploment” in order to install it via iTunes.

ios_itunes_connect_export_2

Then click on “Upload”.

ios_itunes_connect_build_5

Then click on Upload in order to start the upload (this may take a while).

ios_itunes_connect_build_6

Note: The binary will be added automatically to the corresponding app (via the Bundle ID).

Once the upload has finished, it takes some time till Apple has processed the file. You’ll get notifed via mail then. Once you got the mail that your file has been processed, you can select it for the submission or for the TestFlight.

Test before Upload

If you want to test it first on your Apple device, just click “Export…” instead. This will generate an .ipa file which you can install on your registred Apple devices via iTunes.

ios_itunes_connect_export_1

Select “Save for Ad Hoc Deploment” in order to install it via iTunes.

ios_itunes_connect_export_2

Then select your Developer Account and confirm it by clicking “Choose”.

ios_itunes_connect_export_3

ios_itunes_connect_export_4

ios_itunes_connect_export_5

Then unzip the package and double-click the .ipa file. This will automatically open it with iTunes. Connect your test device and install it.

Hint!

Note, all InApp features cannot be tested with an Ad Hoc installation. For this you have to use “TestFlight”, but more in the “Debug” section.

[/creativ_toggle][creativ_toggle accordion=”1″ icon=”book” heading=”New (since XCode update)” onload=”open”]

Please find the new guide for the latest XCode update here.

[/creativ_toggle][/creativ_accordion]

Via Application Loader

Prepare

For this option please select your “Production – AppStore” certificate.

ios_itunes_connect_safari_1

You find a guide here.

[creativ_button url=”https://shatter-box.com/knowledgebase/cocoonio-how-to-build-a-game-using-construct-2/#document-8″ icon=”book” label=”Add Certificates to CocoonIO” colour=”blue” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

Application Loader

Haven't had time...

Queued, will be added later…

Add your Application

Finally we can start to add our application to the Apple iTunes Store. In order to do this, please click on the “My Apps” icon in your dashboard or click the link below.

[creativ_button url=”https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/ng/app” icon=”cog” label=”iTunes – My Apps” colour=”blue” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

Then click on the small plus (+) icon in the header menu and select “New App” (“Neue App” in German).

ios_itunes_connect_add_app

Now fill out all needed information for your new app.

ios_itunes_connect_add_app_1

Then click on “Create” (“Erstellen” in German)

Prepare the Store Page

If the the app was added successfully you’ll be redirected to prepare the Store entry for your game. Most of the fields are already filled out. Just add the link the your Privacy Policy and select the categories for your app.

ios_itunes_connect_add_app_2

Then click on “Save” in the right upper corner of your screen. Then switch to “Price & Availability” and select the wished price for your app.

ios_itunes_connect_add_app_3

Please note...

You only can add paid applications if you have filled out the contract for that! If the option is missing, check out your contracts.

Add Features

In this section you can add features to your application.

InApp

Add InApp Products to your game.

[creativ_button url=”https://shatter-box.com/knowledgebase/ios-add-inapp-products/” icon=”book” label=”iTunes – How to add InApp Products” colour=”red” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

 

GameCenter

Add a leaderboard and achievements to your game.

[creativ_button url=”https://shatter-box.com/knowledgebase/ios-create-a-gamecenter-leaderboard/” icon=”book” label=”iTunes – How to add GameCenter” colour=”red” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

 

TestFlight

Before you submit your app you should have tested it well! Otherwise you will lose a lot of time while waiting for a review of your app which will be rejected then.

iOS App

First download the iOS TestFlight app on your test device(s) or any other Apple Device.

[appbox appstore 899247664]

iTunes Connect

Then select your app in the My Apps Dashboard and select the “TestFlight” tab in the header menu.

ios_itunes_connect_testflight_1

Select the build which you want to use for the TestFlight and then follow the assistance.

ios_itunes_connect_testflight_2

This depends on your app...

The Export Compliance must be answered depending on your app! Mostly you can use “No” for games made with cocoonio, but if you used the “Encryption” feature, you have answer yes and go to the follwing steps. So double check if your application needs this do be answered with yes or no!

If you feel ready, save and publish the TestFligt for your app. Once you have done that, all listed testers will get an email with a redeem code. Use this code in the TestFlight application. Now you can test your game directly on your devices.

Important!

In order to test InApps and Game Center Features you need to go the way via Testflight.

You will not be charged if you purchase an item from an app in Testflight!

Prepare your Submission

Now it’s time to prepare the first submission of your game. In order to do this, please click on the corresponding tab in the left-side menu.

ios_itunes_connect_submission_1

 

The Screenshots

Upload here some screenshots of your game, but keep in mind that you have to upload screenshots for each display size!

ios_itunes_connect_submission_2

For more information about the screenshots, please visit the Apple Help Section

[creativ_button url=”https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Appendices/Properties.html#//apple_ref/doc/uid/TP40011225-CH26-SW2″ icon=”book” label=”iTunes – Add Screenshots” colour=”blue” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

The Description

In this section you can describe your game. Moreover use descriptive tags, so that people can find the game in the store easily.

ios_itunes_connect_submission_3

Please note, no HTML-Tags are allowed in this section!

The Build

Here you can select an uploaded build for the submission. Just click the plus (+) icon and select the wished build.

ios_itunes_connect_build_7

 

General Information

Here you need to add your personal information, like your address and so on. Moreover you have to upload the Store Icon here (note, this is not the Application Icon!)

ios_itunes_connect_submission_4

Important!

For iOS the icon has to be a square and a png-file (recommended is 1024×1024 px)! The icon will be cropped automatically, so there is no need to use any templates to get “Rounded Corner” icons. Actually your Binary gets rejected if you upload an icon with rounded corners.

GameCenter

Activate the GameCenter for your application (if wished). But note, you need to create the GameCenter first at the Features tab.

ios_itunes_connect_submission_5

InApps

InApp products don’t need to be added to the Submission. They are included automatically in the first submission.

App Review

Those information are for the app review team from Apple. So provide your name and contact data. Moreover you can add a description.

ios_itunes_connect_submission_6

Once you feel ready click on “Submit to Review” and then your app will be reviewed by Apple. If you got lucky, your game will be available in a few days after submission. But the chances are high that your first submission will be rejected, so stay cool, fix the things which were the reason for the rejection and then submit a new binary.

My first game took three submissions till it finaly went live, so don’t be disappointed 🙂

Download

This guide was written for all newbies like me 😛 It took me very long till I knew how to publish my first application with Apple. So I decided to make this guide to help all others struggling the same then me.

If you want to show your support, please check and download my games. This helps me a lot

[creativ_button url=”https://goo.gl/CRp5ab” icon=”heart” label=”Google Play (Android)” colour=”green” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”] and [creativ_button url=”https://goo.gl/A1210S” icon=”heart” label=”iTunes (iOS)” colour=”blue” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

Or download them directly here.

[appbox googleplay com.matchtrhee.shatter]

[appbox appstore 1111204649]

Suggestions & Feedback

Every suggestion and feedback is appreciated! So don’t hesitate to get in touch with me. You can find me on

[creativ_button url=”https://www.scirra.com/users/andreasr” icon=”envelope” label=”Scirra (AndreasR)” colour=”green” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”] [creativ_button url=”https://forums.cocoon.io/users/andy_reitberger” icon=”envelope” label=”CocoonIO” colour=”blue” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”] [creativ_button url=”https://goo.gl/f2ynbq” icon=”twitter-sign” label=”Twitter” colour=”blue” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”] [creativ_button url=”https://goo.gl/o2WaiH” icon=”facebook-sign” label=”Facebook” colour=”blue” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

Disclaimer

The Apple logo, iPhone, iPod touch, iPad, iTunes Connect and iTunes are trademarks of Apple Inc., registered in the U.S. and other countries.

Note

This guide is not associated with Apple. I made this guide to help beginners to get started with developing for iOS. The content shown in the screenshots is property of Apple Inc.

If anyone feels offended by the content of this guide, don’t hesitate to contact me directly. I’ll give my very best to solve the issues then.

[creativ_button url=”/contact” icon=”envelope” label=”Mail us!” colour=”green” colour_custom=”” size=”medium” edge=”rounded” target=”_blank”]

Updated on October 3, 2017
Was this article helpful?

Related Articles

Not the solution you were looking for?
Click the link below to submit a support ticket
Visist our Forum!

Comments

  1. Hey Andreas great tutorial do I have to create a new Certificate and provisional profile for every new App I create?

    Thanks Jay

    1. Hey Jay,
      Thank you 🙂 there is no need to create one for each game, but you can handle it this way. You also can use the wildcard certificate for each game.

      Regards Andy

  2. Thank you very much for the continuing great standard of tutorials. I plan to use this one alongside the Construct 2 export to iOS. Is there any possibility you could make it in one tutorial for Construct 2 to Cocoon.io to Apple.

    I have also seen many people on the Construct 2 website wanted a tutorial like this, so it would appeal to many I think

  3. Thanks for the detailed tutorial but what the hell is wrong with these people? It takes half an hour at most to upload to Google Play and 2-3 hours to get a new app approved and published, maybe half an hour on updates. Also, getting your app to testers is about 10 times easier. I honestly don’t think I’ll have the patience to go through with this but I’ll have to give it a shot.

  4. “” “” “Have not had time …
    Queued, will be added later … “” “”

    When will be finished the tutorial. Thank you very much, I’m in great need of this.
    I am returning KeyChain error in compiling IOS.

  5. Hi there Andreas!

    first of all: what amazing job you did here, congrats for that men!

    A little question
    have you ever had this error with iOS phones when testing?

    when I start the game the first thing that appears is a dialog with title of the game and the message
    “Error fetching data.js” and a “Ok” button

    the weird thing is that my compilation result was ok (no errors from cocoon.io, so I guess everything is fine)
    and I’m not using IAP or weirds plugins, only the basics: browser, dict, arrays, etc…

    the iPhone OS tested was with 11.x version, it could be an error from there?

    Thanks in advance!

    1. Hi there,

      Thank you very much. I‘m glad that my guides are helpful for you.

      About your issue. I never have had such an issue. Does this dialog come up in the Developer App or in a live built? I recently have built an ios project and it‘s working well on my iPhone running ios 11. If your error persist, you can open a topic in my support forum, and I‘ll check the capx for you.

      Regards
      Andy

  6. Hi Andreas,

    Firstly I really want to thank you for the detailed informations. It is very helpful for me.

    Also I have a question about general App Store. Will my address that I entered in developer account be shown in App Store when I released my games? Or will only my name be shown? I declared my home address so I don’t want my address to be public.

    Regards,
    Mustafa

  7. Your tutorial shows both a development and production certificate being created. Do I need to create both of them? What’s the difference between the two?

    1. Hi Andy, thanks for your comment.
      If you want to publish your game at Itunes you need the production cerrificate. If you want to just test the ipa files on your registered apple devices, you can use the development certificate.

      Regards
      Andy

  8. hey, I’m new user ( CONSTRUCT3 ) when i publish to app loader it show this error (ERROR ITMS-90174: “Missing Provisioning Profile – Apps must contain a provisioning profile in a file named embedded.mobileprovision.”) how to resolve plz

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.