假设这是你的第一款iPhone游戏，那么第一步就是获得iPhone开发者计划（iPhone Developer Program）的批准。你可以注册年费99美元的标准项目，而不是选择企业项目。
需要注意的是，只要你向iPhone开发者计划提交了申请并通过认可后，你就会自动成为Team Agent。这时你的帐号就得到充分授权可以执行各项操作。你只能通过Team Agent与苹果签定协议，而且只能经由这个帐号生成促销代码用于你所发布的手机应用。你也可以变更你的Team Agent，但是这样一来，你需要联系苹果有关负责人来改变这项操作，所以想要避免麻烦，你从一开始就要找对担任Team Agent的人。
一旦你的开发项目获批了，Team Agent就要登陆到iTunes Connect以确保所有的协议和银行帐户信息已经设立完善。默认协议只允许开发商向App Store提交免费的手机应用。如果你要开发的是付费应用，你就需要让Team Agent勾选“付费应用”的协议。
开发者需要有一台基于英特尔的Mac OS X设备，采用的操作系统是OS X 10.5+系统。我强烈推荐使用10.6（Snow Leopard）版的操作系统，单单静态分析器一项就抵过最低的升级成本了。除此之外还需要注意不同版本操作系统之间的区别。
iPhone 3G 与iPhone完全相同的处理器和内存
iPhone 3GS 最快的处理器和更多的内存，更好的图像芯片
第二代：比iPhone、iPhone 3G更快的处理器，内存与iPhone、iPhone 3G相同
从性能测试方面来看，第一代iPod Touch、iPhone和iPhone 3G在本质上是相同的，第二代iPod Touch的处理器略快一些，所以在项目开始前，要注意首选开发平台的基本特征。iPhone 3GS和第三代iPod Touch彼此相同，并且都比之前几个版本的运行速度更快，同样多了128MB的内存。
同样，除非你的游戏仅限运行于iPhone，不然最好确保它也同样适用于iPod Touch。iPod Touch是一个不容忽视的市场，游戏玩家在iPod Touch用户中的比例高达75%。
iPhone SDK配套提供的iPhone Simulator真是超级好用的开发工具，它可以完美地模拟iPhone手机的多数配置，在过去18个月中，我只发现了一些它和实际手机硬件处理表现不一的情况，而且这一点也是受到特定的技术标准所限。
在游戏提交审核之前，首先要进行测试和优化，最好多试几个硬件平台，至少要在第一代iPod Touch、或者iPhone、iPhone 3G上测试一番，以确保游戏可以在所有硬件平台上顺利运行。
同样要确认游戏具有自动检测并与网络连接的功能。iPhone可支持连接到WIFI、T&Ts 3G 和EDGE网络，或者根本没有网络。那么你的游戏应用就必须能够检测出这种网络情况，并作出正确的反应。
所有工作完成后，你帐号上的Admin会通过iTunes Connect将应用提交给App Store。建议你在提交之前先过一遍这个流程，这样就能明确哪些是应用审核所需要的材料。你得提交应用产品描述、关键词、截屏和Logo并以二进制模式上传。
给iPhone应用制定合理的价格是个不小的难题。目前App Store大部分游戏的售价都介于0.99美元至2.99美元之间，还有一小撮售价是4.99美元，几乎没有超过9.99美元的游戏。这个市场上有不少开发商中都在打大价格战，结果导致了0.99美元的廉价应用大量涌现。如果开发商不具有Rock Band或PopCap一样的知名度，基本上不要指望获得理想的曝光率，更别说是卖出好价钱了。
苹果在2009年10月底开始允许免费应用植入内置付费内容，这种创收方式之前只能在付费应用上实现。这样做的好处是，免费应用可以轻松实现比付费应用多20甚至40倍的下载量。当然，现在还不能断言这种模式究竟是否有利可图（游戏邦注：这是2009年的情况），但是最近已有一些游戏已经率先采用这种模式进军App Store了，《Gravity Sling》就是其中之一，它在该应用商店露面头两周，约有2%的免费玩家购买了其中的内置付费内容。
当应用通过审核之后，Team Agent和Admins会收到苹果批准应用产品上市销售的电子邮件。这个时候应该马上登录iTunes Connect并将应用发布时间更新为当前日期。这样做可以使应用在App Store显示的发布时间与实际发布日期一致。如果不更新，系统就会默认应用发布时间为iTunes Connect设置的日期，或者苹果批准应用销售的那一天。
举例说，如果你的应用是在12月15日通过审核，而iTunes Connect给它设定的发布时间是12月5日，那么应用就会被划分到12月5日发布的那一批产品中。相反，如果你的应用核准日期是12月15日，而在iTunes Connect设定的发布日期是12月20日，那么就可以在12月20日这一天才发布产品，但它还是会被划入11月15日发布的产品行列。
iPhone Development: Everything You Need To Know
There’s no doubt that the iPhone is one of the most talked about platforms in game development today. While there is a lot of great information available for developers looking to get into iPhone development, there is also lots of misconceptions and misinformation that can be difficult to filter out for anyone not actively engaged in the process of developing for the platform.
This article, originally presented as a lecture at the recent IGDA Leadership Forum, will cover the overall process of developing an iPhone game from start to App Store and beyond. The goal is to separate facts from myths and give developers an accurate idea of what to expect.
Overall, iPhone projects follow a fairly similar process to that of most console games: start with an idea, go into development, perform some final testing, then submit to cert, launch, and then follow up with ongoing marketing. Developers who approach their titles anticipating each of these steps will be the ones that have the most success and least frustration with the process.
There are a couple points in this process that are fairly unique to iPhone development. If this is your first iPhone game, then there is a crucial business and legal step to go through before completing development. The submission process is also a little bit unique, and finally marketing is perhaps the single most important aspect of having a successful launch.
Dev Program Application
Assuming this is your first iPhone game, then the first step in the process is getting accepted to the iPhone Developer Program. You will want to sign up for the Standard $99/year program, not the Enterprise program.
The important thing to realize here is that whoever applies to the iPhone Developer Program will automatically becomes the Team Agent, once accepted. While accounts can have Admins which can do almost anything, the Team Agent is the only person who can approve contracts with Apple, and it is the only account that can generate Promo Codes for released apps. It is possible to change your Team Agent, but it is a manual process that you need to contact Apple to do, so it is much easier to start with the proper person from the beginning.
Once you complete the application, Apple will take some time reviewing your application before accepting it. This process is likely just a few days now, though in the summer of 2008 it could take weeks or even months to get approved. You can start developing your iPhone game before you are approved. You will just be limited to only being able to test against the software simulator and will not be able to deploy and test against actual hardware until your application to the developer program has been approved.
Contracts / Banking
As soon as you are approved for the dev program, the Team Agent should log in to iTunes Connect to ensure that all contracts and bank account information is set up. The default contract only allows developers to submit free apps to the App Store. If you plan to charge money to purchase your apps, you will need to have the Team Agent approve the Paid Applications contract.
At the same time, you should also make sure the bank account and tax information in iTunes Connect is completely filled out. Your paid app will not be able to be released until all of this is completed properly; it is much better to do it early so this doesn’t become the reason your launch is delayed.
Also pay attention to specific tax treaty information on iTunes Connect, and be sure to complete any additional forms that may be necessary depending on your location.
Developers will need Intel-based Mac OS X machines with OS X 10.5+. I highly recommend 10.6 (Snow Leopard) as the Static Analyzer alone is worth the minimal upgrade cost. For hardware, there are a few variations in platforms to be aware of. This Apple KB article gives ways to tell which version of iPod Touch you have.
iPhone. Slowest processor and memory
iPhone 3G. Identical processor and memory to iPhone
iPhone 3GS. Faster processor and more memory. Better graphics chip.
1st Gen – Processor and memory identical to iPhone and iPhone 3G
2nd Gen – Processor faster than iPhone and iPhone 3G, memory identical to iPhone and iPhone 3G
3rd Gen / Late 2009 – Processor and memory same as iPhone 3GS, 3D Graphics chip identical to iPhone 3GS
For performance testing purposes the 1st gen iPod Touch, iPhone, and iPhone 3G are essentially identical. The 2nd gen iPod Touch has a slightly faster processor — so be aware of this if it is the primary development device. The iPhone 3GS and 3rd gen iPod Touch are identical to each other, and significantly faster than the other devices; they also come with 128MB more memory.
While it’s tempting to focus only on the newest platform with the highest specs, this is a bad idea. Consumers can still by an iPhone 3G new for $99 and the smallest capacity new iPod Touch in stores today is still the 2nd gen iPod Touch platform. If your game only targets the newest platform you will be missing out not only on the 50+ million installed devices already out there, but also could very well be missing out on a consumer who goes into the store today and buys a brand new device.
Similarly, unless your game requires an iPhone-only feature, you should make sure that it works well on iPod Touch devices. iPod Touches are a very significant part of the marketplace, comprising nearly half of the available hardware. Depending on the game, iPod Touch users could be as high as 75 percent of the playerbase.
The iPhone SDK from Apple assumes developers will be using Xcode, Apple’s compiler and programming toolset. While it may be possible to avoid using Xcode, doing so is beyond the scope of this article.
Most iPhone examples from Apple and elsewhere are written in Objective-C, a set of extensions to the C language based on Smalltalk. As such, if you are willing to learn Objective-C, you’ll have the easiest time finding source code examples, tutorials from Apple, etc. Since Objective-C is an extension to C, you are also free to write C code within the same source files and even functions.
The Xcode environment also fairly seamlessly handles C++, though it’s not quite as straightforward to do so as it is to stick to plain C, and there are far fewer C++ examples available to learn from.
The iPhone Simulator that comes with the iPhone SDK is incredibly useful for development. It almost perfectly emulates most aspects of the iPhone OS and in the past 18 months, I’ve only found a couple situations where the simulator would handle things differently than actual hardware, outside of some very specific limitations.
So what limitations? Namely, in the simulator processor speed and memory are based on your computer hardware, and as such the simulator is useless for performance testing. There’s also no accelerometer input in the simulator (though there are third party libraries that aim to assist in this problem).
Finally, with the simulator, multi-touch input is somewhat awkward, and it is impossible to input more than two touches at one time. For most functionality and core logic tests, the simulator will be identical to the hardware and your build, deploy, and test times will be significantly less than deploying and testing on actual hardware.
The bottom line is that for most development needs, outside of performance testing, the simulator will let you have a much quicker rev and testing time, with very little need to worry about incompatibilities when you run on actual hardware.
When it comes time to test and polish your game prior to submission, be sure to test against a variety of hardware. At a minimum you should have at least one first gen iPod Touch or iPhone or iPhone 3G to make sure that your game runs well on all hardware.
You should also make sure that you test against a clean install of the app. This is very easy to miss in development, but is critical to ensure you aren’t assuming default values that don’t exist in a clean install. Similarly, when working on an update, be sure to test against both a clean install as well as an upgrade install over an existing previous version build.
Game Advertising Online
You also need to make sure your game can handle interruptions at any time. Given that you’re deploying to a phone platform, it should be assumed that your game will be interrupted with no advance notice, and players will become very frustrated if they lose progress as a result.
The general rule is that your app should be able to save and restore to any state in the game. Resetting back to the beginning of a level may be acceptable for quick levels, but having to start over on anything longer than one or two minutes will likely frustrate some number of players.
Similarly, you must ensure your game properly detects and handles an internet connectivity state. The iPhone can connect over WiFi ,or AT&Ts 3G and EDGE networks, or have no connectivity at all, and your app must be able to detect this and respond appropriately. (Of course, iPhones in other territories have the same capabilities, primarily over 3G networks and WiFi.)
It is generally not acceptable to simply time out if the phone is not connected to the network; rather, you should proactively notify the user that they need to enable an internet connection for that feature. This is a key point for Apple, and improper detection or lack thereof will generally result in a rejection upon submission.
When everything is complete, an Admin user on your account will submit the app to the App Store via iTunes Connect. It is recommended that you walk through this process before preparing to submit, so you are aware of exactly what is asked for at submission. You will need to have your app description, keywords, screenshots and logos all ready to go along with the binary to be uploaded.
The binary that will be uploaded is a distribution binary, and it is not possible to test this binary prior to submitting it to Apple. Unfortunately, it needs to be signed differently than any other version built previously, and as a result you will not be able to install it on any devices. There have been a very few reported instances of developers who found their final build had a bug that appeared to only exist in the distribution build, but this is very rare.
Pricing an iPhone app correctly can be a significant challenge to get right. Most games are currently priced between $.99 and $2.99, with a few at $4.99 and very few at $9.99. In general there is a feeling of a “race to the bottom” in pricing among many developers, which has lead to the huge number of $.99 apps. It can be difficult to successfully generate sales at a higher price point without the advantage of having a big brand like Rock Band or PopCap to drive interest and visibility.
Recently, Apple introduced Top Grossing charts into iTunes, which has helped for games and apps that do charge a higher price point. These apps can actually gross as much as cheaper apps, but do not get the same number of downloads or purchases to compete on a one-to-one download basis with $.99 apps.
In late October, Apple began allowing free apps to have In-App Purchase content, where previously this was only available to paid apps. The advantage with this is that free applications can easily have 20 to 40 times as many downloads as paid applications. It is still a bit too early to see if this model will be lucrative, but some of the first games developed for this business model have hit the App Store. Our own game Gravity Sling was one of the first to do this and the first couple weeks of availability show that around 2 percent of free players purchased in-app content.
Recently, apps have taken around two to three weeks to be approved, but there are no guarantees of timing. In early 2009, approval times were around one week, while just after Apple’s Worldwide Developers Conference in June, many apps took four to five weeks, or more, for approval. There is no known way to speed this process up, and your best guidance is a status report on the iPhone Dev Center that Apple has posted which states how long typical approvals are taking (at the time of writing this says that 95% of apps are being approved within 14 days).
When the app is approved the Team Agent and Admins will get an e-mail stating that the application has been approved for sale. Someone should immediately log in to iTunes Connect and change the application release date to the current date. This should make your application release date in line with the actual release date of the game. If you don’t, the date will currently default to whichever is earlier — the date set in iTunes Connect or the date Apple approves the app.
This means that if an app is approved on December 15th, and the release date set in iTunes Connect is December 5th, the app will appear (and be sorted) with a release date of December 5th. Conversely if the app is approved on December 15th, and the release date is set to December 20th, the app will become available on December 20th, however it will appear (and be sorted) with a release date of December 15th.
The only way to be at the top of the New Releases list is to set the release date in iTunes Connect to the same day the app is approved. Until recently, this logic held true for updates as well, but that is no longer the case. Releasing an update will cause your app to say that it was updated on the date the update is approved, but you will not appear at the top of the New Releases again.
The key to marketing on the iPhone is generally to get as much and as wide of a marketing push all at the same time as possible. This way each promotion will stack on top of each other, ideally with an end result of pushing your game into the Top 100 charts. These charts are based on a weighted average of either downloads or revenue depending on the chart, and appear to be heavily weighted towards the most recent 48 hours.
The challenge for traditional publishers is that the release date for a game typically isn’t known ahead of time, as it becomes whatever day Apple approves the app. Developers can pick a specific release date after that point, but doing so will result in a complete dependence on external marketing since the game will not be listed in the New Releases.
Fortunately, most iPhone review sites are familiar with this process and very good at working around these limitations. If you plan to do media buys, most will let you lock down the time once you know your app is released. You can also send review sites advance “AdHoc” builds of your app prior to release so they can potentially have a review ready ahead of time.
In addition to advance copies, Apple provides up to 50 promo codes for each application version (submitting an update will reset the promo codes available back to 50). All review sites will accept these promo codes to review apps. Prior to launch, you must get in touch with sites to know who should receive the initial promo codes.
Twitter and YouTube are also proving to be very popular channels for iPhone app promotion. Trailers on YouTube can be viewed thousands of times, and nearly all iPhone review sites are very active on Twitter as well.
While there are a few major iPhone review sites, there are hundreds if not thousands of individuals and tiny sites also doing app reviews. While no single one of these is significant, in aggregate they have a significant impact as each person may influence 10 to 50 people. The most successful long-term marketing and promotion will realize this and will try to do things to take advantage of these micro-channels.
Contrary to the seemingly prevalent stories about the horrors of iPhone development, I have found the process to be fairly straightforward and easy to manage. However, there are a few problem areas that you should pay particular attention to:
No Contracts or Banking. Apple will not remind you that you do not have the proper contracts signed, or that your bank accounts are not properly set up. If you are not proactive about this, then you may not even realize that this is not completed until your app has been approved, yet cannot appear on the app store until these steps are completed.
Failure to follow guidelines. Apple will reject apps that do not follow their guidelines. I have never had an application submission rejected for any reason. If you read the guidelines and you follow them, it is far less likely that you will run afoul of any of Apple’s policies and get rejected. There are some gray areas that are open to interpretation, but most of their policies are fairly straightforward, and it is easy to know if you are in compliance.
Keywords / App Description. A few months back Apple started monitoring keywords and app description with application submissions. Apps that mention other apps in their keywords will get rejected, as will those with misleading descriptions.
Testing & Error Handling. As previously discussed, be sure your app properly handles various error states, particularly around network connectivity.
Release Date. Remember that the release date of your app will be shown as the earlier of the day you have set in iTunes Connect or the date that Apple approves your app.
It is absolutely possible to build a profitable business developing games for the iPhone and iPod Touch. To be successful, developers must focus not only on creating great games, but they must also devote time and energy to the business and marketing side of game development too. Developers who believe they can simply make a great game and wait for the money to roll in are destined to fail. There is a huge amount of competition and noise in the marketplace, but the space does reward savvy developers, and the upside can be very significant. （source:gamasutra）