Username or E-mail
Password (Forgot?)
New? Sign Up
Join or Sign In
Forums Stencylpedia Stencyl TV Translations Go Pro - Plans & Pricing Download Stencyl


Switch to Book Layout

1: Getting Started

  • Getting Started
  • Crash Course
  • Crash Course 2
  • StencylForge

2: Building Logic

  • What is a Behavior?
  • Creating a Behavior
  • Attributes
  • Game Attributes
  • Attribute Types
  • Events
  • Our Behaviors

3: Actors

  • What are Actors?
  • Animations
  • Motion & Forces
  • Physics
  • Controls
  • Collisions & Groups
  • Killing vs. Recycling
  • Tweening
  • Effects
  • Chapter 3 Challenge

4: Scenes

  • Scene Basics
  • The Camera
  • Tilesets
  • Regions
  • Drawing Text & HUDs
  • Changing Scenes
  • Music, Sounds & Channels
  • Backgrounds
  • Customizing Actors
  • Chapter 4 Challenge

5: Game Mechanics

  • Saving
  • Pausing
  • 3rd Party Services
  • Web Requests

6: Advanced Topics

  • Get/Set Attributes
  • Custom Events
  • Blending Modes
  • Lists
  • Custom Blocks
  • Continuous Collisions

7: Testing & Tuning

  • Testing Games
  • Optimizing Performance 1
  • Optimizing Performance 2

8: The Last 10%

  • Flash Publishing
  • Standalone Apps
  • iOS App Store
  • Chrome Store
  • Making Money

M1: Mobile - Intro

  • Getting Started
  • Testing on your Device
  • Flash -> iOS Guide

M2: Mobile - Basics

  • Atlases
  • Drawing Text
  • Retina Display
  • Accelerometer
  • Joystick
  • Universal Games

M3: Mobile - Services

  • iAds
  • Game Center
  • In-App Purchases

M4: Mobile - Publishing

  • Debugging
  • Publishing to the App Store
  • Optimizing Performance
  • Promoting your Game

A: Troubleshooting

  • Showstoppers
  • General FAQ
  • iOS FAQ
  • The 90% Memory Warning
  • Recovering Broken Games
  • Can't Export to SWF
  • Reloading Documents
  • Generating Logs
  • Flash Security Settings
  • How to Report Bugs

B: How-To Guides

  • Importing Assets
  • Scene Designer
  • Code Mode
  • Font Editor
  • Pencyl (Image Editor)
  • Tile Editor (Shapes)
  • Game Cleaner

C: Reference

  • Glossary
  • Block Reference
  • Useful Shortcuts
  • Stencyl API

D: Resources

  • Stencyl TV
  • Abigayl's Guides
  • Giving Critiques
  • Creating Extensions
  • Translating Stencyl
  • Credits

3.0 Drafts (In Progress)

  • What's New in Stencyl 3.0?
  • Setup (Android)
  • Setup (Desktop)
  • Setup (iOS) - Concepts
  • Setup (iOS) - Mac
  • Setup (iOS) - Windows
  • Testing iOS on Windows
  • iOS Troubleshooter

  • Mobile App Scaling
  • Full Screen Mode
  • Simple Physics
  • Backgrounding an App

  • iOS App Store
  • Mac App Store
  • Windows Store
  • Google Play
  • HTML5

  • Android Ads
  • Android Purchases (WIP)
  • 4" Form Factor (iPhone 5)
  • Mobile Input
  • Mobile Features

  • Extending the Engine
  • iOS / Android Extensions
  • Developing the Official Extensions
  • Developing the Engine

  • iAds (Revised)
  • Game Center (Revised)
  • iOS Purchases (Revised)
  • Atlases (Revised)
  • Drawing Text (Revised)
  • Joystick (Revised)
  • Accelerometer (Revised)
  • Sounds (Revised, WIP)
  • Debugging (Revised, WIP)
  • iOS Performance (Revised)
Level: Beginner

Publishing your iOS Game

Announcement: We've drafted a significantly improved version of this article for Stencyl 3.0. 99% of it still applies to Stencyl 2.2 and below. We recommend checking it out.

Check out the New Version

 

In order to publish a game to the App Store, you need to submit your game to our publishing service, where our servers will build your game and send it back to you as an IPA for the App Store. 

In order to build your game, you must provide your Distribution Certificate (p12) and the appropriate Provisioning Profile (mobileprovision) depending on whether you are testing (Ad Hoc) or publishing (App Store). This guide explains what these documents are and how to set them up.

(Prefer to watch videos instead? Try these: [Part 1] [Part 2] [Part 3])

 

You must have an Apple iOS Developer License

Before you begin, we’re assuming that you’ve paid the $99/yr to Apple to sign up for their developer program. If you have not signed up, enroll at the following location.

http://developer.apple.com/programs/ios/

If you already have a setup that can build and run iOS apps (you have the distribution certificates and profiles), jump down to Step 5.

 

Don't have a Mac?

Follow this guide instead to set up your certificates using OpenSSL. Once you are done, skip down to step 6.

http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html

(Major Gotcha for Windows users: Specify a password for your p12 certificate if you follow Adobe's instructions. Mac OS X, and therefore our server, cannot work with p12's without passwords that were generated on Windows or Linux.)

If you have any kind of access to a Mac, the process is considerably simpler. Only use the Windows/Linux route if you have no access to a Mac.

 

Step 1: Create Certificates

A certificate is effectively a signature that you use to sign any kind of file to certify that it came from you. Every account comes with at a pair of certificates, one for Development and one for Distribution.

Before you generate a certificate, you have to do two things.


Step 1-1: Install Apple’s WWDR Intermediate Certificate

1) To begin, visit the “iOS Provisioning Portal” on http://developer.apple.com.

2) Click “Certificates” in the sidebar.

3) Download the WWDR Intermediate Certificate. Double-click it to install.

 

Step 1-2: Create a Certificate Signing Request (CSR)

1) To begin, open Keychain Access on your Mac (use Spotlight, the search icon at the top right!)

2) From the menu, select the following item.

3) Enter in your e-mail and name. Leave the CA Email Address field blank. Select “Saved to Disk” and “Let me specify key pair information”.

4) Save it to a location you’ll remember.

5) Click continue on the next screen (it should be 2048 and RSA).

6) Click Done.

 

Step 1-3: Create the Actual Certificates

Now, you have to head to Apple’s site to finish off this process. You MUST use Safari or Firefox. Chrome may not work.

1) To begin, visit the “iOS Provisioning Portal” on http://developer.apple.com.

2) Click on Certificates in the sidebar.

3) Click Request Certificate.

4) Click Browse... and pick the Certificate Signing Request you just created moments ago. Submit.

5) Wait a bit, and the Certificate should be issued.

6) Download both the Development and Distribution certificates. Double-click them to install them.


Step 2: Add Devices

When distributing a game to beta testers off the app store, or when testing for your own purpose, you need to add devices to the Provisioning Portal to allow these devices to run your games.

1) Click on “Devices” in the sidebar.

2) Click “Add Devices”.

3) Enter a name that you’ll be able to recognize in the future.

4) Enter in the Device ID. You can find this ID by connecting your iOS device to your Mac, opening iTunes, selecting the device under DEVICES, and then clicking the “Serial Number” field which will then switch to Identifier (UDID).

5) Submit. Repeat for other devices you want to add.


Step 3: Create an App ID

An App ID is a unique identifier that’s used to allow your game to communicate with Apple’s services or to share data between your games.

You’ll enter this ID into Mobile Game Settings > Identifier.

1) Click on “App IDs” in the sidebar.

2) Click “New App ID”.

3) Enter in a name that you’ll remember.

4) Skip the Bundle Seed ID field.

5) Enter in the actual ID and then submit. We strongly recommend sticking to the convention that Apple suggests of using a reverse-domain name.

For example: com.stencyl.balloons.

Note: Even though Apple will allow this, make sure your App ID doesn't have an underscore ("_") in it. This causes a failure at build-time.


Step 4: Create a Provisioning Profile

A provisioning profile is a document that combines an App ID and a list of Devices together to form a single file that tells a device whether a given application will run on a given device, and for what method of distribution it will be targeted at (App Store or Ad Hoc).

In this case, we only care about the Distribution Profiles.

1) Click on “Provisioning” in the sidebar.

2) Click on the Distribution tab.

3) Click New Profile.

4) Fill in the details as appropriate and submit. Do this twice, once for the App Store and one for Ad Hoc.

5) After you’ve created both profiles, download them to your Mac.


Step 5: Create a p12 file (portable certificate)

A p12 certificate file is a portable format that contains all of the information required to export and import this data from one computer to another. You provide this p12 file to Stencyl when submitting your game to our servers for a build.

1) Open Keychain Access on your Mac (use Spotlight, the search icon at the top right of your screen).

2) Locate your DISTRIBUTION certificate. You can locate it quicker if you click “Certificates” in the Category pane.

3) Right-click it. Select Export.

4) Pick a location you’ll remember. You can provide a password, or you can leave it blank. The password itself isn’t that important, but you will need to provide it to Stencyl to perform the server-side build.

5) That’s it! You now have everything that Stencyl needs.


Step 6: Enter in details to Stencyl

To specify your certificates and provision profiles, you’ll need to tell Stencyl where your p12 and mobileprovision files are located. You do this under Preferences > Mobile.

 

Step 7: Publish Your Game!

Finally, open up your game and select Publish > Publish iOS App (App Store).

If all goes well, your app will be e-mailed back to you as a .IPA (iPhone Archive) file. This is what you'll send to Apple.

 

Step 8: Upload to Apple

The final step in this process is to head over to iTunes Connect in order to send your game over to Apple.

https://itunesconnect.apple.com

At the very end of the process, Apple will ask you to upload your game through the "Application Loader" app on your Mac. Launch this app (click on the search icon at the top-right of your screen, type in "Application Loader"). The rest of the process is self-explanatory.

Note: Starting in Xcode 4.3, Application Loader is now located through Xcode itself via the Xcode > Open Developer Tool menu. (Forum Topic)

 

What if I'm on Windows?

If you're on Windows, you'll need to find a way to upload your game from a Mac. As of November 2011, there is no way around this step. You can use one of the following methods instead.

  1. Get a Mac. The new Mac Mini can be had for under $600 off Amazon.
  2. Upload it from a friend's Mac.
  3. Use a virtual machine. We don't endorse this method because it breaches the EULA.
  4. Use an online rental service like Macincloud, which lets you rent a Mac on an hourly basis -- more than enough to perform the upload. There's even a free 1-hour trial. http://www.macincloud.com/

 

Prefer a Video?



Last Updated: 2013-04-09 by Jon

25633 have read this article
Disclaimer: The Stencyl Team does not actively monitor comments on articles. If you're seeking help for your game, please ask a question on the forums. Thanks!
6 Comments
danieljackson09
Super post of information. The Need to Push iOS games right from the certifications, mac and the step by step information are really good. As a developer i really loved your post. This is so useful to me and clarify many of my minor and (big confusion in fact) as well. Not only to me, to all the Mobile app developers Atlanta will be benefited by reading this. Thanks for the useful information.
For any kind of app development needs, visit: http://innoppl.com/mobile-applicati on-development

0 1 month, 4 days ago
danieljackson09
Super post of information. The Need to Push iOS games right from the certifications, mac and the step by step information are really good. As a developer i really loved your post. This is so useful to me and clarify many of my minor and (big confusion in fact) as well. Not only to me, to all the <a href="http://innoppl.com/mobil e-application-development"> Mobile app developers Atlanta</a> will be benefited by reading this. Thanks for the useful information.
0 1 month, 4 days ago
zackyzoom
I"m doing everything but when I try to publish the app, it keeps telling me "Your app's identifier doesn't match the one in your provisioning profile". What does that mean?
0 2 months, 3 weeks ago
vvitek
When publishing to iOs on my Mac, I get this error, and it is compiling forever...

[LOG] Check dependencies
[LOG] Code Sign error: No unexpired provisioning profiles found that contain any of the keychain's signing certificates
[LOG] warning: iOS deployment targets lower than 4.3 are not supported (current IPHONEOS_DEPLOYMENT_TARGET = "4.1", ARCHS = "armv7").
[LOG]
[LOG]
[LOG] ** BUILD FAILED **
[LOG]
[LOG]
[LOG] The following build commands failed:
[LOG] Check dependencies
[LOG] (1 failure)

Any sugestions what I set wrong? Is it on the xcode side?
Thank you!

1 5 months, 1 week ago
magicpegasus
Jon, I think I missed this other MAJOR Gotcha! I'm starting the process over...
0 5 months, 3 weeks ago
Jon
I've updated the article to be very clear about the required certificates. To reiterate, you need to generate your P12 from your DISTRIBUTION certificate, NOT your developer certificate.

If you don't do this, you get some error along the lines of this when StencylBuilder e-mails you back and you check the output logs.

Code Sign error: The identity 'iPhone Developer: Austin Langston (xxxxxxxxxx)' doesn't match any identity in any profile

1 1 year, 3 months ago



Commenting Guidelines

Sign In to Comment

Make Games

  • What is Stencyl?
  • Roadmap
  • Pricing

Play

  • Arcade
  • Showcase

Community

  • Forums
  • Chat
  • Translations

Help

  • Stencylpedia
  • Stencyl TV

About Us

  • Blog
  • Contact Us
  • Press
  • Privacy
Follow Stencyl on Twitter



© 2013 Stencyl, LLC.