IOS软件开发工具包

iOS軟體開發工具包（英文：iOS SDK (Software Development Kit)；又名：iPhone SDK）是蘋果公司提供的iOS的應用程式開發環境。2008年2月公佈初版。啟動iOS SDK 的最低需求： Mac OS X Leopard 及以上系統。其他的作業系統，包括微軟的視窗系统和舊版的Mac OS X系統都不支援。在通過蘋果App Store上架審查機制後，如果是付費軟體，銷售總額蘋果抽30%，軟體開發者可得剩下70%收入。

开发历史
2007年10月17日，乔布斯在苹果网站的一封公开信上宣布软件开发工具包于2008年2月提供给第三方开发商。软件开发工具包于2008年3月6日发布，允许开发者开发iPhone、iPod touch应用程序，并且通过“iPhone模拟器”对其进行测试。

自从Xcode 3.1发布以后，Xcode就成为了iOS软件开发工具包的开发环境。和Mac OS X的应用程序一样，iOS应用程序使用Objective-C语言，一些应用程序可以写成C或C++语言。苹果通常会发布两个iOS软件开发工具包，包括主要的iOS X.0（例如iOS 6.0）和次要的iOS X.X（例如iOS 6.1）。正式版发布前会有几个测试版公布，目的是测试应用程序的兼容性并增加新的功能。

功能特点
内容：由于iOS是从于Mac OS X核心演变而来，因此开发工具也是基于Xcode。该SDK可分类为下列几大项：
 触控(Cocoa Touch)：多点触控事件和控制(Multi-touch events and controls)、加速支持(Accelerometer support)、查看等级(View hierarchy)、本地化（i18n）(Localization (i18n))、相机支持
 媒体：OpenAL、混音及录音(Audio mixing and recording)、视频播放、图像文件格式(Image file formats)、Quartz、Core Animation、OpenGL ES
 核心服务：网络、SQLite嵌入式数据库、地理位置(GeoLocation)、线程(Threads)
 OS X核心：TCP/IP协议、套接字(Sockets)、电源管理、文件系统(File system)、安全

模拟器：iOS软件开发工具包中包含和Xcode工具一样的iOS模拟器，让开发人员在计算机上拥有仿真的外观和感觉。最初它被称为阿斯仿真器（Aspen Simulator），在 Beta2 版本中它被重新命名。但iOS模拟器并不是一个用于运行x86目标代码的工具。

Core Location：Core Location是一个软件框架，主要用来检测 iOS 设备的位置，在2008年3月6日开发者大会上宣布,并成为了iOS软件开发工具包的一部分。

SVG：从iOS 2.1固件开始，iPhone版Safari开始支持SVG。该SVG支持SVG 1.1的编码特征和大部分静态功能。但它的图形界面还不支持SMIL动画。这需要等SMIL引擎足够成熟之后才能被支持。除SVG外，还支持HTML Canvas。

Flash：Flash Professional CS5内曾经一度被中断开发的iOS软件输出功能，由于现在Apple已经开放第三方开发工具的使用，Adobe已经决定恢复此功能的开发作业。不过Apple目前仍未开放在浏览器内执行Flash内容。现时可以在iOS越狱之后安装第三方Flash软件。

Java：苹果至今仍没有宣布任何让iPhone运行Java的计划，因为这属于iOS软件开发协议所规定的范畴以外。协议规定“无论如何,应用程序都不能自己安装或者启动其他任何可执行的代码,包括没有限制的插件架构的使用,别的架构,应用程序接口或者其他任何形式。除了苹果发行的应用程序接口和内置的解释器,所有翻译码都不能经应用程序下载或使用。”但Oracle已宣布其将会发布能在iPhone上运行的Java虚拟机(JVM)的计划，它是基于Java的J2ME(Micro Edition)版本。这将让用Java应用程序得以在iPhone和iPod Touch上运行，允许自带的应用程序从其他的来源下载代码，而且它们还能与第三方应用程序相互作用，这可能会阻碍不与苹果合作的Java虚拟机的发展。通过越狱的方式能让iPhone安装和运行Java。在iPhone使用Java的可能性通过Oracle和苹果的会谈逐渐透露了出来,目前Oracle正通过一个叫做InnaWorks的公司为此目标而进行努力。奇怪的是,iPhone使用的ARM处理器自身包括一个Java内置的硬件加速环境。

软件版权

IOS软件开发工具包本身是可以免费下载的，但开发人员如果希望向App Store发布应用，就必需加入iOS开发者计划，加入需要付款以获得苹果的批准。加入后开发人员们将会得到一个牌照，可以用这个牌照将编写的软件发布到苹果的App Store。这个发布软件的形式的出现使人们不能根据GPLv3的授权代码发布软件。任何根据GPLv3任何代码的开发者也必须得到GPLv3的授权。同时，开发商在散发布已经由GPLv3 授权的应用软件的同时必须提供由苹果公司提供的密匙以允许该软件修改版本的上载。

参考资料

IOS
计算机程序库
程序设计工具