iPhone software development kit contains what you need to program your iPhone


The iPhone software development kit (SDK) is a suite of programs available in one gargantuan (over 1 GB) download from Apple. It gives you the tools you need to program (Xcode), debug (Instruments), and test (Simulator) your iPhone and iPad code. Note that you must have an Intel-based Apple Macintosh running Mac OS X 10.5.3 or higher to use the SDK.

Installing the SDK

To obtain the SDK, download it from Apple's iPhone Dev Center. You'll need to register as an iPhone Developer in order to get there, but it's a fairly painless process. Note that you can also use this site to access Apple documents.

Apple DOCS and the SDK

It contains a few introductory papers, of which we think the best are "iPhone OS Overview" and "Learning Objective-C: A Primer," plus the complete class and protocol references for the SDK. You can also access all of these docs from inside Xcode. We usually find Xcode a better interface because it allows you to click through from your source code to your local documents. Nonetheless, the website is a great source of information when you don't have Xcode handy. After you've downloaded the SDK, you'll find that it leaves a disk image sitting on your hard drive. Double-click it, and then click iPhone SDK in the folder that pops up.

This will bring you through the entire install process, which will probably take 20–40 minutes. You'll also get a few licensing agreements that you need to sign off on, including the iPhone Licensing Agreement, which lists some restrictions on what you'll be able to build for the iPhone.

iPhone SDK licensing restrictions

Although Apple is making the iPhone SDK widely available for public programming, the company has placed some restrictions on what you can do with it. We expect these restrictions to change as the SDK program evolves, but what follows are some of the limitations at the time of this writing. Among the most notable technical restrictions: you can't use the code to create plug-ins, nor can you use it to download non-SDK code. It was the latter that apparently spoiled Sun's original plans to port Java over to the iPhone. You also can use only Apple's published APIs. In addition, there are numerous privacy-related restrictions, the most important of which is that you can't log the user's location without permission. Finally, Apple has some specific application restrictions, including apps that incorporate pornography or other objectionable content.

In order for your program to run on iPhones and iPads, you'll need an Apple certificate, and Apple maintains the right to refuse those certs if it doesn't like what you're doing. If you're planning to write anything that might be questionable, you should probably check whether Apple is likely to approve it first. When the SDK finishes installing, you'll find it in the /Developer area of your disk. Most of the programs appear in /Developer/Applications, which we suggest you make accessible using the Add to Sidebar feature in your Finder. The iPhone Simulator is located separately at /Developer/Platforms/iPhoneSimulator.platform/Developer/ Applications. Because this is off on its own, you may want to add it to your Dock.

You now have everything you need to program for the iPhone, but you won't be able to release iPhone or iPad programs. That takes a special certificate from Apple. The Simulator turns out to be just one of several programs you've installed, each of which can be useful in SDK programming.

Legal Disclaimer

Our website is not responsible for the information contained by this article. Articleinput.com is a free articles resource thus practically any visitor can submit an article. However if you notice any copyrighted material, please contact us and we will remove the article(s) in discussion right away.

Note: This article was sent to us by: Marvin V. Hayels at 09232010

Related Articles

1. Basics to understanding the structure of an embedded Linux system
Anatomy of an Embedded Linux System At runtime, an embedded Linux system contains the following software components: • Boot loader: What gets the ope...

2. The resemblance between the GCC compiler and the kernel in Linux
The GNU Compiler Collection The GCC compiler, like the kernel, is designed for portability. Like all open source programs, GCC is available in source form, and ...

3. Automake and Autoconf discover the state of the target environment
Automake/Autoconf Open source software is designed to be distributed in source code form so that it can be compiled for the target platform. When target platfor...

4. How and where does a software developer get help
Where to Get Help All software developers depend on little helpers, whether visible or invisible. Open Source developers tend to call upon a large number of res...

5. Necessary additional steps to get Linux running
Host Services After the software is installed, some additional configuration steps are necessary to get the packages in running order. This part goes through co...

6. Virtualization and the computer resource sharing
Target Emulation and Virtual Machines Virtualization is a mature technology that lets several operating systems share the physical resources of a machine, such ...

7. Development of hosting code and use of virtualization software
Virtualization Software for x86 Hosts If you're developing code for an x86 host, why bother using virtualization? The host and target are identical, so using vi...

8. How to boot the board and start Linux
What to Do After Unpacking the Board The best way to assess what is supplied with the board is to plug in the board and get Linux up and runnin...

9. Root file system and kernel as parts of a Linux system
Understand the RFS The kernel is only one part of a Linux system. The root file system is a necessary component for a running system and is frequently overlooke...