PDA

View Full Version : iPhone Developer FAQ




firewood
Jul 12, 2008, 10:09 AM
The iPhone/iPad or iOS Programming forum will need a sticky FAQ, or else the same questions will get asked a gazillion times. Here are some items it should include:

Pointers to Apples iPhone/iOS Developer program introduction:
http://developer.apple.com/programs/ios/

Apples's iPhone/iOS Dev Center and (free after registration) SDK download page:
http://developer.apple.com/devcenter/ios/index.action

The iPhone SDK Agreement (encountered when registering) very likely includes several limitations on use of the SDK, and an NDA for beta versions, which one has to agree to when registering to download the iPhone SDK. There may be several requirements regarding any application which one is allowed to develop using the SDK. Read Section 3.3 carefully before asking if an app can be developed to do this and such.

The SDK for iOS 5.0 is only officially supported on an Intel Mac running Snow Leopard/10.6.x and later. The SDK and Xcode development tools for iOS 5.1 and later are only officially supported on a 64-bit Intel Mac running Lion/10.7.x. iOS development tools cannot run under Windows, as they are based on all the Mac OS X frameworks, libraries and XCode Developer Tools.

The difference between a registered and an enrolled developer:
Registered: register at Apple, agree to the SDK license, and use the SDK with the included iPhone simulator only.
Enrolled: Pay $99 and be allowed to provision actual iPhone, iPad, and iPod Touch devices to test your software.
Paid App Application: more legal forms to fill out after you are enrolled but before you are allowed to sell your app to others. Requires banking and tax information.

After you register, you will find that the iPhone Dev Center has tons of tutorial videos, getting-started documentation, guides, How-To's, a Reference Library and lots of Sample Code and example applications. See:

iPhone Dev Center: http://developer.apple.com/devcenter/ios/index.action

Pointers to Apples public Developer forum:
http://discussions.apple.com/forum.jspa?forumID=727
and private iPhone/iOS Developers forum (requires enrolled iOS Developer program login):
https://devforums.apple.com/community/ios
(NOTE: Apple beta software that is currently under NDA should only be discussed in designated areas in the devforums.apple.com forum. Not here.)

You can Google "site:discussions.apple.com <subject>" to see if your questions have already been answered there.

Stanford University now has an online course on iPhone/Cocoa programming:
http://www.stanford.edu/class/cs193p (http://www.stanford.edu/class/cs193p/cgi-bin/index.php)
iTunes U link: iPad and iPhone App Development (Fall 2011)
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewCourse?id=495052415&s=143441

Other (non-Apple) SDK developer support forums:
ipodtouchfans web site:
http://www.ipodtouchfans.com/forums/forumdisplay.php?f=98

XCode, which is the IDE for the SDK, has tons of built-in documentation:
Xcode > Help > Documentation

Objective C, which is a strict superset on ANSI C, is the Apple supported language for native app development.
Pointers to Cocoa tutorials, Objective C tutorials, etc.
http://cocoadevcentral.com/

Lots of iPhone/iOS programming questions are asked and answered over on
Stack Overflow (http://stackoverflow.com/questions/tagged/iphone)

etc.

If you have zero experience programming, I recommend that you learn to program first, or you may well find yourself way over your head starting straight out with iPhone/iOS app development. XCode, Objective C and the Cocoa Touch frameworks were not designed as educational teaching languages with an easy learning curve. After you've learned to program in some environment designed for educational purposes, picking up iOS development and Cocoa Touch will go a lot faster.



Doctor Q
Jul 12, 2008, 11:17 AM
Good suggestion, firewood. We'll use your post as the starting point. You and others are invited to post other authoritative information here. This thread is NOT for discussion, just for reference information.

firewood
Jul 12, 2008, 01:53 PM
Everybody, if you are accepted as an enrolled developer, please read all the instruction on the Developer Portal, which you can only see after you are enrolled into the ($99 or enterprise) program, and then log in to http://developer.apple.com/iphone/index.action

There are 20 web pages full of instructions on the Portal and dozens of steps required to load your app. Get just one of the steps wrong and you won't be able to load your app on your device.

Reports are that some developers were stuck for days because they missed one step.

firewood
Jul 14, 2008, 11:18 AM
There's one here on the Apple Developer Support Forum:

http://discussions.apple.com/thread.jspa?threadID=1603312&tstart=0

iDeveloper writes:
1. Decide you want to program for the iPhone
2. Sign up for iPhone Dev access (Free for online)
3. Download/Install SDK Final and have a good play with the simulator/Read the guides etc
4. Register interest in the iPhone Dev Program.
5. Wait for the enrollment email - accept T's & C's and request activation code
6. Pay 60 to get a developers license
7. Wait for activation code email and follow the steps to get into iPhone Dev Manager
8. From the main page, follow the many steps to link the iPhone to their Servers. This includes getting certificates, installing them, linking iPhones to their servers with ID's and configuring xcode etc.

9. Assuming you have iPhone OS 2.0 final and have configured xcode OK - Compile to iPhone.

iDeveloper also writes:
go through the processes outlined here:

http://developer.apple.com/iphone/manage/overview/index.action

which include:

1. Setting up your iPhone Development Team (if applicable)
2. Obtaining your iPhone Development Certificate
3. Creating your App ID
4. Assigning Apple devices for testing
5. Installing iPhone OS
6. Creating and downloading provisioning profiles
7. Running your development application on a provisioned device
8. Distributing your application

Luke Redpath
Aug 22, 2008, 08:52 AM
Small tip: make sure you subscribe to documentation in XCode to ensure it's kept up-to-date!

mccannmarc
Sep 26, 2008, 04:58 AM
The iPhone SDK (including Xcode, iPhone simulator etc) is ONLY available on Mac OS X Leopard running on Intel processors. This means that you can only release official apps on the App Store if you have one of these machines and the official SDK.

If you want to develop on Windows, Linux, BSD etc etc the only route you can take is to target your apps for jailbroken iPhones as the toolchain is available and works on most OS's and hardware configurations. Apple has not and is extremely unlikely to release the developer tools on any other systems.

Hope this has cleared it up for a few people as the same question gets asked way too often....

firewood
Oct 20, 2008, 09:15 AM
There's another short but good iPhone Development FAQ here:

http://plaidworld.com/iphonefaq.txt

jnic
Nov 12, 2008, 08:54 AM
There's a rather good primer on Objective-C memory management here:

Dead link removed by moderator

firewood
Dec 10, 2008, 05:37 PM
Provisioning problems seem to be an FAQ. A developer has to get around a hundred steps exactly correct or else they are toast. It's almost an IQ test to see if one can hunt down all the clues required from multiple places in Apple's documentation. Here's one, better than average, description of the steps required:

http://www.talentgrouplabs.com/blog/archive/2008/11/10/iphone-sdk-mobile-provisioning-0xe800003a-0xe8000001.aspx

.

cessna2526
Mar 20, 2009, 07:59 AM
When i pay the $100 to become a dev how long is the membership for?

Jeremy1026
Mar 20, 2009, 09:34 AM
When i pay the $100 to become a dev how long is the membership for?

1 year from date of payment.

NickK1066
Jul 14, 2009, 03:45 AM
Some olde-worlde paper recommendations:

Programming Objective-C 2.0, Kochan, Developer's Library, Addison Wesley.
A base building book for all things Objective-C in terms of the language, which means 90% of Apple development. It covers the syntax, concepts etc within the Objective-C language.
Note- this does not cover the iPhone SDK or Cocoa specifically.

Beginning iPhone Development, Mark & LaMarche, Apress.
A great easy entry into iPhone development, however you'll find yourself wanting more later but to get you started it's a good book. Things such as NSTimer etc which aren't specifically iPhone but would add some food for thought later. There is, oddly, coverage of a small amount of OpenGL ES which I wouldn't say is probably more intermediate/advanced (as you'd be purchasing the OpenGL Red and Orange books to make any real progress).
Definitely a beginner book.

The iPhone Developer's Cookbook, Sadun, Developer's Library, Addison Wesley.
More of a brain dump if ideas and discussions. The structure is difficult if you're a beginner but there's some ideas for intermediates.
The example exists by building (or throwing away) the Xcode project from the chapter before which can make following the examples confusing

dejo
Jan 20, 2011, 06:52 PM
A very useful blog article from Mike Ash: Getting Answers (http://www.mikeash.com/getting_answers.html)

Anyone coming to a programming forum seeking help should read it.

firewood
Mar 26, 2011, 10:26 AM
For a gigantic set of answers (over 60,000) to various iPhone/iPad/iOS related programming questions, try searching the tags first, then possibly asking, on:
stackoverflow.com (http://stackoverflow.com/questions/tagged/iphone)