iPhone’s OS is the operating system developed by Apple for this device, and for iPod Touch too. This OS is derived from Mac OS X, and it has four abstraction levels: the Core OS layer, the Services layer, Media level and the Cocoa Touch level. The OS takes less than 240 Mb of the memory storage capacity of the device, and is 2008, Steve Jobs announced that they released a software development kit (SDK).This kit allows developers to create applications for iPhone and iPod Touch and test them in an iPhone simulator.

You can upload an application onto a device only after you pay the iPhone Developer Program fee, and since the release of XCode 3.1, XCode is the main development environment for the iPhone SDK. Developers can set any price for their applications distributed through the App Store, but above a minimum settled by Apple. They will receive 70% share and they also can opt to release the applications free on the market, and actually they don’t have to pay any costs related to the application, with the exception of the membership fee.

There has been some controversy since SDK release, because if someone purchases an application from the Apple App Store, 30% of the price goes to the company, and 70% to the developer. If there is granted a refund to the customer, then 30% comes from Apple and 70% from the developer. Apple reserves itself the right to take another 30% of the cost from the developer to make up the loss.

iPhone SDK was announced on March 6 2008, during an Apple Town Hall meeting, and the first Beta release was available immediately. The launch of the App Store needed for a firmware update which appeared in July 2008. The update costs $9.95 for iPod Touch owners, and there have been several updates to the first version. It is continuously improved, and it adapts to developers’ fast progress.

The iPhone OS uses a variation of the XNU kernel, and this can be found also in Mac OS X. This tool chain is used for development on the iPhone OS, and it is based on Xcode.

This SDK has been broken down into sets, for a better organization of the activities: Cocoa Touch (Multi-touch events and controls, Accelerometer support, View hierarchy, Localization and Camera Support), Media (OpenAL, audio mixing and recording, Video playback, Image file formats, Quartz, Core Animation and OpenGL ES) Core Services ( Networking, Embedded SQLite database, Core Location and Threads) and finally OS X Kernel, TCP/IP Sockets, Power management, File system and Security).

SDK, along with all these sets, and the Xcode toolchain integrates also an iPhone Simlator, which emulates the look of the iPhone. It was initially named Aspen, but afterward it was renamed when Beta 2 version of the SDK was launched. This simulator is not an emulator, but it runs code generated for an x86 target.

The Apple Software Development Kit requires an Intel Mac computer, because it doesn’t work on Microsoft Windows or other operating systems. Downloading and using SDK itself is free, but for releasing software you have to enroll in the iPhone Developer Program, and this means paying a fee and you also need Apple’s approval. In March 2009, the enrollment fee in the iPhone development program was $99 per year. Apple hasn’t announced anything about enabling Java on iPhone. Sun Microsystems wants to release a Virtual Machine for iPhone OS, and this would allow Java apps to run on iPhone and iPod Touch.

iPhone OS doesn’t support Flash either, and Adobe is planning to release a Flash Liter version software application for the iPhone, but taking into account that iPhone supports third party applications only when it is jailbroken, we can only expect and see what will happen in the future with all these third party applications. Flash videos can be seen on iPhone with applications like iMobileCinema.

In 2009, July, geohot released an application for jailbreaking iPhone with 3.0 software, named purplera1n, and I bet that in time this will be improved and there will be a lot of possibilities for jailbreaking iPhone.