SDK对其他平台的支持
由于iOS是从于Mac OS X核心演变而来,因此开发工具也是基于Xcode。
IOS该SDK可分类为下列几大项:触控(Cocoa Touch)多点触控事件和控制(Multi-touch events and controls)加速支持(Accelerometer support)查看等级(View hierarchy)本地化(i18n)(Localization (i18n))相机支持媒体OpenAL混音及录音(Audio mixing and recording)视频播放图像文件格式(Image file formats)QuartzCore AnimationOpenGL ES核心服务网络SQLite嵌入式数据库地理位置(GeoLocation)线程(Threads)OS X核心TCP/IP协议套接字(Sockets)电源管理文件系统(File system)安全和Xcode工具一样,SDK开发工具中包含的iPhone模拟器用来在开发人员的电脑上模拟iPhone的外观和感觉。最初它被称为阿斯模拟器(Aspen Simulator),它被重命名于BETA2版中发布的SDK 。
请注意,iPhone模拟器并不是模拟用于运行x86目标生成代码。
该SDK需要拥有英特尔处理器且运行Mac OS X Leopard系统的Mac才能使用。其他的操作系统, 包括微软的Windows操作系统和旧版本的Mac OS X都不支持。
版权
SDK本身是可以免费下载的,但为了发布软件, 开发人员必须加入iPhone开发者计划, 其中有一步需要付款以获得苹果的批准。加入了之后,开发人员们将会得到一个牌照,他们可以用这个牌照将他们编写的软件发布到苹果的App Store。发布软件一共有三种方法: 通过App Store,通过企业配置仅在企业内部员工间应用,也可通过基于"Ad-hoc"而上载至多达100部iPhones。
这个发布iPhone软件的形式的出现使人们不能根据GPLv3的授权代码发布软件。任何根据GPLv3任何代码的开发者也必须得到GPLv3的授权。同时,开发商在散发布已经由GPLv3 授权的应用软件的同时必须提供由苹果公司提供的密匙以允许该软件修改版本的上载。
Java
苹果至今仍没有宣布任何让iPhone运行Java的计划。但太阳微系统已宣布其将会发布能在iPhone上运行的Java虚拟机(JVM)的计划,它是基于Java的Micro Edition版本。这将让用Java应用程序得以在iPhone和iPod Touch上运行。
在这个计划发表之后,熟悉iOS软件开发协议的程序员们相信虽然iOS软件开发协议不允许应用程序后台运行(比如说在接电话的时候仍然运行程序), 但却允许自带的应用程序从其他的来源下载代码,而且它们还能与第三方应用程序相互作用(比如说Safari和Java虚拟机), 这可能会阻碍不与苹果合作的Java虚拟机的发展。 很明显,在iPhone运行的Java在iOS软件开发协议所规定的范畴以外。这个条列是规定3.3.2,其内容如下:
3.3.2 — 无论如何,应用程序都不能自己安装或者启动其他任何可运行的代码, 包括没有限制的插件架构的使用,别的架构,应用程序接口或者其他任何形式。除了苹果发行的应用程序接口和内置的解释器,所有翻译码都不能经应用程序下载或使用。 然而,一些iPhone用户已经表明通过越狱的方式,iPhone能安装和运行Java ME。 在iPhone使用Java的可能性通过太阳计算机系统公司和苹果的会谈逐渐透露了出来, 目前太阳计算机公司正通过一个叫做Innaworks的公司为此目标而进行努力。 奇怪的是, iPhone使用的ARM处理器自身包括一个Java内置的硬件加速环境。.
Flash
iOS不支持Flash。 Adobe计划在iPhone发行第三方Flash Lite软件程序,但现时仍未有计划。以现时来说,只支持标准Flash。现时可以使用iPhone第三方程式jailbreak观看flash动画。
SVG
从iPhone2.1固件开始,iPhone版Safari开始支持SVG。该SVG支持SVG 1.1的编码特征和大部分静态功能。但它的图形界面还不支持SMIL动画。这需要等SMIL引擎足够成熟之后才能被支持。除SVG外,还支持HTMLCanvas。