Follow these steps to get started with the iPhone and iPad development.
Set up your machine
Mac
- Get the latest OS version Snow Leopard
- Get the iOS (includes the iPhone/iPad/iPod) and subscribe to the iPhone Developer Program
- Paid membership - Costs: US$ 99/per year (Lets you deploy on iPhone/iPad hardware and give you access to unreleased iPhone/iPad OS)
- Free membership - Gives you access to actual releases of iPhone/iPad OS and you can only deploy using the Simulator
PC
There are the following options (NOTE: the Apple EULA might not allow development on non-Mac-based operation systems or non-Apple-made hardware)
- install and boot a MacOS on a PC:
- run MacOS on an emulator or VMWare image
- use alternative SDKs (here you might need a jailbreak for your device - not recommended)
Once you've installed Snow Leopard, follow step 2. from the Mac-setup above (iPhone SDK)
Virtual Image
Technically it's possible to run a MacOSX in a virtual machine on Windows. Performance is not good.
A community doing that can be found on http://www.hackintosh.com/), they drive projects like Project X86 etc.
Please note:
- Apple licenses don't allow this
- OS adoptions (drivers) with Hackintosh specific changes are necessary
- probably not all features and functions available
- no support
Another valuable link is: http://wiki.osx86project.org/wiki/index.php/Virtualization
Licenses and everything legal
In order to use SDK and develop apps, Apple has multiple licenses and agreements in place. Individual or corporate licenses are necessary for
- Apple membership enrollment (to get access to Apple resources)
- SDK download/usage (to download and use iOS SDK)
- Phone Developer Program License Agreement (for uploading apps in the App store)
Demos: the different Apple licenses also seem to not include information about demoing the app.
Prototyping, Mockups, Testing and Recording
A list of tools can be found on the following page
Development
General resources
A good source to start is the [iPhone Dev Center - Apple Developer|http://developer.apple.com/iphone/index.action on Apple's website. It includes
- iPhone/iPad Development guides
- my first iPhone app
- start developing iPad apps|http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhone101/index.html]
- iPhone human interface guidelines
- and much more...
There is also an open source project on Google Code, for creating a free, portable, high quality toolchain to enable development for the Apple iPhone.
Source code
Sample code can be found here:
Distributing Apps
Depending on the SDK license you can either distribute
- through Apple's App store (standard developer license)
- distribute to up to 100 devices for testing (standard developer license - team license)
- distribute in house with the iPhone Developer Enterprise Program which is available to companies with 500 or more employees and a Dun & Bradstreet number (Link)
Links
- Podcast iPhone/iPad development and Stanford CS193P - great course about iPhone developing. 18 videos - each about 1 hour - are available on iTunes U. Furthermore several exercises are offered
- User Interface Guidelines - Apples UI Guidelines (import if app will be distributed via AppStore)
- iCodeBlog Tutorial - simple example how to consume a WS via iPhone
- Heise (in German): Was man beim Entwickeln von iPhone-Apps wissen sollte (legale und steuerliche Betrachtung)
2 Comments
Anonymous
Setup Version Management
While developing our iPhone app Bizbox Direct, we did version management using www.projectlocker.com. Projectlocker.com gave us 'Subversion' hosting and connects seamless with Xcode environment. Also it's free!!!
Unknown User (nyt1zyx)
I would like to point out a small (yet significant) correction here. Snow Leopard is not available for $29 - that's the upgrade from older version of MacOS.
http://store.apple.com/us/product/MACBOX_SINGLE?mco=MTk0MjIxMDU
It clearly says:
Snow Leopard is an upgrade for Leopard users and requires a Mac with an Intel processor.