07-12-2009, 08:05 PM
Join Date: Mar 2008
Location: San Diego, CA
Publishing on the App Store or in-house
Publishing on the App Store or distributing apps in-house
In this section we'll list things related to publishing your apps on the App Store or getting your apps onto iPhones within your company. Regardless of the methods you use, you must become a "paid" developer to move your apps to any device whatsoever. "Registered" developers who can download the development tools for free can only run their apps on the Xcode iPhone Simulator.
Apple clearly explains all the steps involved with publishing on the App Store once you become a paid (enrolled) developer. In summary, here are the highlights of what's involved once you do...
- Determine if you are going to be selling apps through the App Store as an individual or a company, or as an enterprise developer who will only be distributing apps within the enterprise. As an individual or company, your legal name or legal company name (e.g. sole proprietor, LLC, corporation, etc) will appear as the author of your apps on the App Store.
Once you become a paid developer you'll be given access to iTunes Connect. You should immediately start setting up the "seller" information before your app is finished.
Note that if you plan to sell apps as a company you'll want to have already established your company's identity completely before you first set up your seller information. Be warned that it can take a few weeks or more to change your seller status later and it can become very messy if you have apps already in the app store sold under an individual license and then try to change it later to a company license.
In the US, you'll want to set up a bank account exclusively for iPhone revenue, and provide your Social Security Number as an individual or your IRS EIN for your company. You will be asked to fax documentation of proof of your company's identity. This process could take a week or so.
- Download the iTunes Connect Developer Guide PDF. This document clearly explains everything you will need to know and all the steps involved in submitting apps to the App Store, as well as specifications for submitting graphics and your iTunes page information, etc. In addition, there is a video paid developers have access to called "Selling on the App Store" which provides and overview of the process. A new and updated video which also covers handing in-app purchases was released to WWDC attendees and Apple will probably be making an updated video available soon. This video details how you use the facilities of iTunes Connect to test your in-app purchasing (if you use it) in a "sandbox" to make sure it works as you expect before releasing it on the App Store.
- If you are going to be creating apps for private in-house use, you sign up as an enterprise developer. You can distribute your apps with the "ad hoc" method where you get the UDIDs of up to 200 devices and register them in the "Program Portal" area allowing you to distribute apps which can only be used on those devices, for example in a college course situation. Alternatively you can distribute to any number of iPhones in your organization without recording their UDIDs by creating a provisioning profile which will be loaded onto your company's iPhones, and then your distributed (signed) apps will work on those phones only.
In either case, you can distribute your in-house apps either via email or posting them on a private website, but regardless they have to be downloaded onto a Mac or PC's desktop (they can't be emailed to the device, for instance). From there the apps can be drag-and-dropped onto iTunes and then synced to the device, or you can also use a free utility from Apple to move the app to the device if you don't want your employees using iTunes.
More information can be found in the Tech Talk World Tour video "In-House Development for iPhone" or the WWDC '09 Session 603 video "In-House App Development for iPhone" and both provide the same information.
Major things that will result in rejection of an app submitted to the App Store
- Use of Apple's private (unofficial) APIs, or perhaps other APIs. You can include C and C++ code libraries of your own.
- Any attempt to go where you aren't supposed to go in the code or the file system.
- Integration of any content that is not yours.
- Any sort of code emulation, e.g. Commodore 64, Atari, etc.
- Anything offensive in nature, though farts are now acceptable.
- Use of iPhone logos or imagery, apparently not even in video tutorials demonstrating how to use your app.
- Misuse of user interface elements and the Human Interface Guidelines which would confuse the user.
- Duplicating the iPhone's built-in functionality.
- Use of Amazon.com APIs and content.
- You copy another app already published on the App Store in a manner that seems more like "theft" than "competition."
Online resources of note