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%收入。
原作者 | Apple Inc. |
---|---|
開發者 | Apple Inc. |
首次發佈 | 2008年3月6日 |
程式語言 | Objective-C |
作業系統 | OS X |
語言 | 英語 |
類型 | 軟件開發工具包 |
網站 | Apple Developer |
開發歷史
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)。正式版發佈前會有幾個測試版公佈,目的是測試應用程式的兼容性並增加新的功能。
發佈日期 | 版本編號 | 更改內容 |
---|---|---|
2008年3月27日 | 2.0b2 Beta 2 |
首發,發佈iOS 2.0b2 (build 5A225c) |
2008年4月8日 | 2.0b3 Beta 3 |
發佈iOS 2.0b3 (build 5A240d) |
2008年4月23日 | 2.0b4 Beta 4 |
發佈iOS 2.0b4 (build 5A258f) |
2008年5月6日 | 2.0b5 Beta 5 |
發佈iOS 2.0b5 (build 5A274d) |
2008年5月29日 | 2.0b6 Beta 6 |
發佈iOS 2.0b6 (build 5A292g) |
2008年6月19日 | 2.0b7 Beta 7 |
發佈iOS 2.0b7 (build 5A331) |
2008年6月26日 | 2.0b8 Beta 8 |
發佈iOS 2.0b8 (build 5A345) |
2008年7月24日 | 2.1 Beta 1 |
發佈iOS 2.1 (build 5F90) |
2008年7月30日 | 2.1 Beta 2 |
發佈iOS 2.1 |
2008年8月8日 | 2.1 Beta 3 |
發佈iOS 2.1 |
2008年9月25日 | 2.2 Beta 1 |
發佈iOS 2.2 (Build 5G29) |
2008年11月20日 | 2.2 | 發佈iOS 2.2 (build 9M2621) |
2009年1月27日 | 2.2.1 | 發佈iOS 2.2.1 (build 9M2621a) |
2009年3月17日 | 3.0 Beta 1 |
發佈iOS 3.0的預覽版及SDK 3.0的測試版 |
2009年3月31日 | 3.0 Beta 2 |
發佈iOS 3.0的預覽版 |
2009年4月14日 | 3.0 Beta 3 |
發佈iOS 3.0的預覽版 |
2009年4月28日 | 3.0 Beta 4 |
發佈iOS 3.0的預覽版 |
2009年5月6日 | 3.0 Golden Master Seed |
iOS 3.0的最終版(只給開發商和私人測試) |
2009年6月17日 | 3.0 Final |
iOS 3.0的最終版(公開版) |
2009年7月31日 | 3.0.1 | 修復SMS漏洞 |
2009年6月30日 | 3.1 Beta 1 |
發佈iOS 3.1的預覽版 |
2009年7月15日 | 3.1 Beta 2 |
發佈iOS 3.1的預覽版 |
2009年7月28日 | 3.1 Beta 3 |
發佈iOS 3.1的預覽版 |
2009年9月9日 | 3.1 Final |
發佈iOS 3.1的最終版(公開版) |
2010年3月10日 | 3.2 Beta 4 |
發佈 iOS 3.2 預覽版 |
2010年3月17日 | 3.2 Beta 5 |
發佈 iOS 3.2 預覽版 |
2010年6月21日 | 4.0 Final |
發佈 iOS 4.0 最終版(公開版) |
2010年9月10日 | 4.1 Final |
發佈 iOS 4 第一次重大升級: iOS4.1 |
2010年11月1日 | 4.2.1 Final |
發佈 iOS 4 第二次重大升級: iOS4.2.1 |
2011年1月13日 | 4.3 Beta 1 |
發佈 iOS 4.3 預覽版 |
2011年1月20日 | 4.3 Beta 2 |
發佈 iOS 4.3 預覽版 |
2011年2月2日 | 4.3 Beta 3 |
發佈 iOS 4.3 預覽版 |
2011年6月6日 | 5.0 Beta 1 |
發佈 iOS 5.0 預覽版 |
2011年6月24日 | 5.0 Beta 2 |
發佈 iOS 5.0 預覽版 |
2011年7月11日 | 5.0 Beta 3 |
發佈 iOS 5.0 預覽版 |
2011年7月22日 | 5.0 Beta 4 |
發佈 iOS 5.0 預覽版 |
2011年8月6日 | 5.0 Beta 5 |
發佈 iOS 5.0 預覽版 |
2011年8月19日 | 5.0 Beta 6 |
發佈 iOS 5.0 預覽版 |
2011年8月31日 | 5.0 Beta 7 |
發佈 iOS 5.0 預覽版 |
2011年9月16日 | 5.0 Beta 8 |
發佈 iOS 5.0 預覽版 |
2011年10月5日 | 5.0 Golden Master |
發佈 iOS 5.0 最終版(只給開發商和私人測試) |
2011年10月12日 | 5.0 Final |
發佈 iOS 5.0 最終版(公開版) |
2012年6月11日 | 6.0 Beta 1 |
發佈 iOS 6.0 預覽版 |
2012年6月25日 | 6.0 Beta 2 |
發佈 iOS 6.0 預覽版 |
2012年7月16日 | 6.0 Beta 3 |
發佈 iOS 6.0 預覽版 |
2012年8月6日 | 6.0 Beta 4 |
發佈 iOS 6.0 預覽版 |
2012年9月19日 | 6.0 Final |
發佈 iOS 6.0 最終版(公開版) |
2013年6月10日 | 7.0 Beta 1 |
發佈 iOS 7.0 預覽版 iOS 第一次重大升級 |
2013年6月24日 | 7.0 Beta 2 |
發佈 iOS 7.0 預覽版 |
2013年7月8日 | 7.0 Beta 3 |
發佈 iOS 7.0 預覽版 |
2013年7月30日 | 7.0 Beta 4 |
發佈 iOS 7.0 預覽版 |
功能特點
內容:由於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上運行,[1]允許自帶的應用程式從其他的來源下載代碼,而且它們還能與第三方應用程式相互作用,這可能會阻礙不與蘋果合作的Java虛擬機的發展[2]。通過越獄的方式能讓iPhone安裝和運行Java。在iPhone使用Java的可能性通過Oracle和蘋果的會談逐漸透露了出來,目前Oracle正通過一個叫做InnaWorks的公司為此目標而進行努力。[3][4]奇怪的是,iPhone使用的ARM處理器自身包括一個Java內置的硬件加速環境。[5]
軟件版權
IOS軟件開發工具包本身是可以免費下載的,但開發人員如果希望向App Store發佈應用,就必需加入iOS開發者計劃,加入需要付款以獲得蘋果的批准。加入後開發人員們將會得到一個牌照,可以用這個牌照將編寫的軟件發佈到蘋果的App Store。這個發佈軟件的形式的出現使人們不能根據GPLv3的授權代碼發佈軟件。任何根據GPLv3任何代碼的開發者也必須得到GPLv3的授權。同時,開發商在散發佈已經由GPLv3 授權的應用軟件的同時必須提供由蘋果公司提供的密匙以允許該軟件修改版本的上載。[6]
參考資料
- ^ Krill, Paul. Sun: We'll put Java on the iPhone. Infoworld. 2008-03-08 [2008-03-08]. (原始內容存檔於2008-03-09).
- ^ Krill, Paul. Sun's plan for Java on iPhone could hit roadblock. The Industry Standard. 2008-03-14 [2008-03-29]. (原始內容存檔於2008-03-19).
- ^ Kizito Kasozi, Emmanuel. Apple, Sun Talks Gives Hope for Java on iPhone. ibtimes.com. 2008-04-28 [2008-08-31].[永久失效連結]
- ^ Innaworks announces Java Development Solution for iPhone. Innaworks. 2008-03-28 [2008-08-31]. (原始內容存檔於2008-09-14). 外部連結存在於
|publisher=
(幫助) - ^ Ryan, Block. iPhone processor found: 620MHz ARM CPU. engadget.com. 2007-07-01 [2009-01-02]. (原始內容存檔於2009-01-23).
- ^ Willis, Nathan. The iPhone SDK and free software: not a match. Linux.com. 2008-04-15 [2008-06-05]. (原始內容存檔於2008-07-04).