Filed under: Features, How-tos, Developer, iPhone, iPod touch
iPhone Dev 101: Downloading and Installing the iPhone SDK
A software development kit is a set of tools and APIs (application programming interface) that allows a programmer the ability to develop for a specific system. Therefore, the iPhone SDK gives you the ability to program for the iPhone.
The SDK is just a waste of space on your hard drive unless you know the programming language associated with the iPhone. To program on the iPhone, you will need some Cocoa (Objective-C) knowledge. There are a ton of resources available online and in book form -- I'll cover these and more in the next post in the series. If you already know a programming language like C/C++/Java, then you should just need a refresher course on the classes, methods, and basic expressions.
To download Apple's iPhone SDK, you'll need an Apple ID -- this is a free account that you can use to access multiple Apple services including iTunes, Apple Discussions, the online store, and the developer site. If you don't have an account, you can easily get one on the iPhone Dev Center.
Continue reading to learn how to download and install the iPhone SDK.
To download the SDK:
- Open http://developer.apple.com/iphone in your web browser. This is the iPhone Dev Center, and it offers multiple resources for the iPhone.
- Click the "Login" button on the right-hand side of the page. Use the following pages to either login using your Apple ID, or create a new Apple ID.
- Upon successful login, you will be returned to the Dev Center main page. Under the downloads section you should see a link to "iPhone SDK for iPhone OS 2.2." Clicking this link will start the ~1.6GB download -- the download process could take up to 3 hours (or longer) depending on your Internet connection speed.
Installing the SDK is very simple:
- Once the download is complete, find where the .dmg file was downloaded to (normally the desktop, or User > Downloads folder). Double-click on it to open the disk image.
- Double-click on the installer package inside of the disk image. The installer will launch and allow you to install the SDK. Just follow the on-screen instructions. Remember that installing the SDK will eat up about 2-3GBs of hard disk space; you can install the SDK on an external hard drive if necessary.
Stay tuned next week, as I'll give you some valuable Cocoa programming resources.


![TUAW [Cafepress]](http://www.blogsmithmedia.com/www.tuaw.com/media/tuaw-cafepress-promo.png)


Reader Comments (Page 1 of 2)
Kit said 7:19PM on 1-25-2009
Cory, how did you know I just installed the SDK last night?
Looking forward to this series -- Obj-C is sort of an insider's club. It's been a little tough for me to get in.
Reply
geneius said 7:28PM on 1-25-2009
me too, just got it installed and playing with it now. Obj-C is kicking my butt!
thezonie said 11:48PM on 1-25-2009
I just use Objective-C where I absolutely need to, for the interface.
Everything else is C++, which is much more portable to other IDEs and platforms than Objective-C.
Thankfully you can mix your Objective-C and C++ to give you Objective-C++.
Mark Johnson said 2:26AM on 1-26-2009
If Objective-C is giving you trouble you just need a well written book to learn it from... and one just came out this January (no, I didn't write it!) on APress 'Learn Objective-C on the Mac'. Here's my blog entry about the best books for learning Objective-C and iPhone programming:
http://www.markj.net/iphone-development-programming-books/
Cheers,
Mark
Kit said 2:45AM on 1-26-2009
@thezonie: Thanks for that tidbit. I was wondering about how much you can mix languages and bridges and still expect an app to run in the iPhone. (I'm looking at you, PyObjC.)
@Mark Johnson: I love book roundups! One of my biggest hurdles for any language is to sort through all of the pulp until I find a solid book to read. I'll check out your suggestions, thanks!
Chris said 6:48AM on 1-26-2009
thezonie said 11:48PM on 1-25-2009
> Everything else is C++, which is much more portable to other IDEs and
> platforms than Objective-C.
That's bull. Objective-C is part of GCC, which is available on basically any and every platform.
Besides, if you're using GNUstep (on other platforms) you don't even have to re-do the GUI.
michael said 7:35PM on 1-25-2009
I love this series of posts. I was waiting for something like this to make the next fart app. Haha. Thanks TUAW.
Reply
Mike1999 said 8:52PM on 1-25-2009
They should have implemented a Java Runtime, in Hardware.
Then there wouldn't be any shortage of programmers for this phone, as a matter of fact, they would have been able to drain away developers from the other phones on the market.
Remember, a JVM in Hardware would have been a Killer App.
Reply
zsports said 8:55PM on 1-25-2009
Java is not a lightwieght programming language - so implementing a JVM would have really taxed the iPhone hardware. Remember on a mobile device, resources are significantly more limited than on even the feeblest of computers
Jesse said 11:37PM on 1-25-2009
Actually, there is Java implementation on iPhone, on telesphoreo's project.
But, this kind of thing is not a "killer app", it's just a tool that would please those who doesn't want to learn Objective-C and waste their Java skills to develop on iPhone.
Just admit it, Apple would encourage people to use Objective-C, and their frameworks, because they want developers to do it that way, and I admit it's better. Just leave Java to Sun Microsystems. :-).
colouroflight said 4:39PM on 3-31-2009
Java is garbage. Thank god they didn't include a JVM.
Alex Bates said 9:27PM on 1-25-2009
I finished all of that about 2 months ago. I have made a few tab bar based apps since then but nothing that requires any knowledge with Objective-C. I hope to start learning that soon so keep up the good articles TUAW.
Reply
ThreeBKK said 10:47PM on 1-25-2009
(IMHO) The headline would sound much better if written like:
Download and Installation of the iPhone SDK.
[or]
Downloading and Installing the iPhone SDK.
Reply
rschoenburg said 2:08AM on 1-26-2009
Check out this tutorial site, and beware. Apple's examples and documentation are terrible.
http://icodeblog.com/
Reply
Jash Sayani said 4:43PM on 1-26-2009
Nice to see iPhone Dev 101... Hope to see tutorials on making apps... BTW, I have a video that shows how to make a HelloWorld app with Interface builder in under 5 minutes.... In case, you want to post it.....
Reply
Anthony said 6:24PM on 1-26-2009
Hey guys, thanks for the tutorial.
This is really handy, and has given me the ultimate excuse to waste some time!
Cheers,
Anthony.
http://iphoneauctions.com.au
Reply
Nathan B said 3:08PM on 1-27-2009
Ugh, if you don't know what an SDK is, or can't download it and install it yourself, then you sure can't write a useful app. We don't need more crap on the App Store - we need more quality apps.
You can do C++ and Objective C, but you're really fighting the system and will have to create lots of wrappers and shims between the two object worlds. You really want to proxy NSString to std::string for every OS and your object model? Just learn Objective C, it's not that hard.
Reply
MattjDrake said 8:42AM on 2-04-2009
Great post! This should get people to get started with this iPhone coding. For those above who were looking for some resources on Objective-C I have started to create some tutorials geared toward jumping in quickly with iPhone coding. Here is that website:
http://howtomakeiphoneapps.com
It also has a "rolodex" page with some book links and other resources I started collecting to help get over the learning curve.
Reply
richardson.mel said 8:14AM on 2-12-2009
Will this series be continued or has it been dropped.
It says followup will be "next week" but it has been two weeks since.
Just letting the authur know that there are some people eagerly anticipating the continuation of this series, or at least some news about it.
I realize that some things come up and that sometimes we promise more than we might be able to deliver within that period of time.
Just let us know, is this still in the works?
Thanks.
Reply
Kevin Ashworth said 9:49PM on 2-12-2009
Wondering the same. Hope it hasn't been dropped!