Game Development Reference
In-Depth Information
achieve something that was not provided by the manufacturer, you need to struggle
to bypass several constraints.
The iOS SDK is the software development kit used to make native applications for
the iPhone and iPod touch, released in 2008 by Apple.
Though developers can make use of the SDK to build their own applications for
the iPhone, loading an application onto the devices is only possible after paying an
iPhone Developer Program fee, which costs $99 per year.
The no-cost alternative is to run apps in the iPhone simulator, which is provided with
the SDK and runs your application in pretty much the same way as an actual iOS
device. The simulator is quick to launch and debug, and is a very efficient tool to test
both logic and interface of your apps or games. Touch gestures and sensor events
can be simulated as well with the mouse. For testing multi-touch interactions well,
you need to pay the fee.
All the necessary tools for the SDK are contained in a single installer package that is
easy to download, though not very light (it is a single 4.5 GB file). Moreover, if a new
update is available, you need to download and reinstall everything. It seems like the
iOS SDK team doesn't believe in patches!
There are other barriers which may come into play when developing for the iOS. Un-
less you use specific cross platform tools, iOS apps require a Mac to be developed,
which means that if you don't already have one, you may be forced to buy a Mac
to develop with iOS. This can be a high entry cost since Macs generally are much
more expensive than their PC equivalents. Naturally, a developer needs a computer
to develop apps anyway, but for example, Android apps can be developed on Mac,
PC, and Linux machines equally and without much effort.
Another crucial element when deciding whether to develop apps and games for the
iOS, is the lack of a feature called garbage collection. Garbage collection means that
the developer is not asked to learn the rules to manually manage the memory of the
device when developing apps. With such a feature, a programmer is not required
to specify which objects to de-allocate in order to free memory resources for other
computing.
Garbage collection is a way to enhance the performance of an application and to
drastically accelerate the development process. For this reason alone, most pro-
Search WWH ::




Custom Search