Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

firewood

macrumors G3
Original poster
Jul 29, 2003
8,108
1,345
Silicon Valley
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
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

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.
 
Last edited:

Doctor Q

Administrator
Staff member
Sep 19, 2002
39,794
7,537
Los Angeles
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

macrumors G3
Original poster
Jul 29, 2003
8,108
1,345
Silicon Valley
Read all the instructions!

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

macrumors G3
Original poster
Jul 29, 2003
8,108
1,345
Silicon Valley
List of steps required to develop

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

 

mccannmarc

macrumors 6502
Aug 15, 2008
270
0
Manchester, UK
iPhone Developer FAQ

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....
 

jnic

macrumors 6502a
Oct 24, 2008
567
0
Cambridge
There's a rather good primer on Objective-C memory management here:

Dead link removed by moderator
 
Last edited by a moderator:

firewood

macrumors G3
Original poster
Jul 29, 2003
8,108
1,345
Silicon Valley

NickK1066

macrumors regular
Jul 23, 2007
147
0
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
 

rickbrown2

macrumors newbie
Sep 30, 2014
6
0
No doubt that XCode will make the programming Objective-C a bit easier. So, as per my concern, an aspirant must spend some time to tackle around with XCode and then they must better learn Objective - C.

However, I am completely agree with the fact that Swift programming is also a future for all Apple devices. As of now, Swift is a Beta now and there are not so many books that teaches in a flow. In case, you are willing to learn Objecttive-C, then better learn all the frameworks of Apple that are similar to Swift.

----------
 

CritKlepka

macrumors newbie
Jan 16, 2018
17
5
North Carolina
If anyone is looking for a good book (series), I'd recommend Big Nerd Ranch's two books, Swift Programming (which focuses pretty much on only Swift, no GUI) and iOS Programming. Can be found at Barnes & Noble or bought online. They have their books pretty up to date, almost done with the second one. Only just now running into a few quirks since some layout things changed due the iPhone X.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.