本頁使用了標題或全文手工轉換

iOS

跳至導覽 跳至搜尋

iOS
開發者 蘋果公司
程式語言 CC++Objective-CSwift
作業系統家族 基於DarwinBSD)的類Unix系統macOS
運作狀態 活躍
源碼模式 閉源,含有開源元件
初始版本 2007年6月29日​(2007-06-29
最新版本

iPhone 5s及以上
iPad Air及以上
iPad mini 2及以上
iPod touch第6代
11.4.1(2018年7月9日​(2018-07-09

[1]
最新測試版本 12.0 Beta 6[2](2018年8月6日​(2018-08-06
支援的語言 40種語言[3][4][5][6]
更新方式 iTunesOTAiOS 5或更高版本)
支援平台
內核類別 混合核心XNU
預設使用者介面 Cocoa Touch多點觸控GUI
許可證 專有軟體最終用戶授權協定,開源元件除外
官方網站 中國官方網站
香港官方網站
澳門官方網站
台灣官方網站
美國官方網站

iOS(原名iPhone OS,第四個版本改名為iOS)是蘋果公司行動裝置所開發的專有行動作業系統,屬於類Unix系統,支援裝置包括iPhoneiPod touchiPad。與Android不同的是iOS不支援任何非蘋果公司的硬體裝置。

系統最初於2007年為iPhone而推出。隨後,延展擴充支援至蘋果公司其他裝置。至2017年1月,蘋果公司App Store已含有超過220萬個iOS應用。

iOS作業系統目前為全球第二大行動作業系統市占約12.1% ,僅次Android系統的88%[7]

蘋果公司於2017年6月5日之2017年蘋果全球開發者大會中介紹了iOS 11,正式版已於2017年9月20日開放下載[8]

歷史

2007年1月9日,蘋果在2007 Macworld大會中發布iOS(當時名為 iPhone OS),並於同年6月29日發布了iOS的第一個版本。iOS可以透過iTunes對裝置進行更新,在iOS 5及以上版本中也可以利用OTA(On the Air)的方式進行軟體更新。iOS必須要與裝置經由蘋果伺服器進行驗證,驗證方式可透過iTunes(iOS 5及以上版本亦可透過iCloud服務驗證)並自動同步。[9]在WWDC 2013中,蘋果發布了iOS 7,徹底更改了使用者介面,將原本擬物的風格轉變為平面化風格。最初蘋果公司並沒有給隨iPhone發布的作業系統一個獨立的稱謂,直到2008年才取名為iPhone OS,並在2010年6月改名為iOS。

系統架構

iOS分為核心作業系統層(the Core OS layer)、核心服務層(the Core Services layer)、媒體層(the Media layer)及觸控應用層(the Cocoa Touch layer)。iOS使用基於與蘋果Mac 電腦不同的ARM架構的64位元或32位元之中央處理器,使用由PowerVR影片卡彩現的MetalDarwin作為基礎[10][11]

使用介面

iOS使用者介面能使用按鍵、多點觸控對裝置進行控制。此外透過其內建的加速器,可以旋轉裝置以使屏幕改變方向,令裝置更便於使用。

  • 實體按鍵:包括屏幕下方的Home鍵(用於退出應用程式、回到主介面、長按開啟語音控制(Voice Control)或Siri,於iPhone 5s及之後版本及iPad Air 2及之後版本中同時為Touch ID傳感器,iPhone 7改為按壓式按鍵,iPhone X已經取消Home鍵,改為全手勢操作),頂部的Power按鍵(用於點亮、關閉屏幕、關機、iPhone 6iPhone 6 Plus之後移至機身側面)及側面的音量控制按鍵(包含一個靜音開關和兩個音量大小調節鍵,在IPad Air 2與其之後的產品中僅有音量調節鍵)。
  • 多點觸控:蘋果稱為Multi-Touch,包括滑動(Swiping)、輕按(Tapping)、擠壓(Pinching)、反向擠壓(Reverse Pinching or unpinching),於iPad中還可使用四指或五指手勢切換App,與系統互動。
  • 3D touch: 透過屏幕里的感應器,對用戶按壓的力道做出相對應的反應(最早出現在iPhone 6s,以及後續機型)。
  • 屏幕介面:以應用程式方格的形式呈現,可將多個程式合併至一個資料夾方格中;最底部的一欄為Dock,最多可以有四個(iPad系列中,iPhone OS 3~iOS 10為6個,iOS 11為13個);程式圖示被固定在Dock上,可以通過「滑動」的方式進行變換顯示的應用程式。狀態列處於屏幕上方,能顯示時間、電池電量和訊號強度等資訊。從屏幕頂端向下輕掃可以顯示通知中心。將圖示向下輕掃可以啟動Spotlight,從屏幕底端向上輕掃可以顯示控制中心(iPad在iOS 11後則同時顯示多工)。

安全啟動

在用戶啟動iOS的時候,系統會先從Boot ROM執行的低階代碼,其目的檢查低階開機載入程式是否已被蘋果公司的Root CA公鑰簽名。同時這可以有效的避免iOS系統不會遭受病毒或其他未經授權的軟體的干擾。在載入完成之後,它將執行較進階別的開機載入程式(iBoot),若iBoot運作正常,系統將會繼續載入iOS系統的其餘部分。

應用程式

  • App Store:App Store蘋果公司為旗下作業系統所建立和維護的數位化應用發布平台,允許用戶從iTunes Store瀏覽和下載一些由iOS SDK或者Mac SDK(須造訪Mac App Store)開發的應用程式。根據應用程式發布的不同情況,使用者可以付費或者免費下載。應用程式可以直接下載到iOS裝置,也可以透過macOS或者WindowsiTunes下載到電腦中。其中包含遊戲、日程管理、詞典及許多實用的軟體。
  • 內建程式:iOS最新版本中的應用程式(因裝置不同,部分的應用程式可能會有所差異)包含電話、MailSafari、Apple Music、電視、訊息日曆、相片、相機、FaceTimePhoto Booth、股市、地圖(Apple Map)、天氣、備忘錄、雜誌、提醒事項、時鐘、計算機、指南針、語音備忘錄、App Store、設定、通訊錄、iTunesNike+iPod、Voice Control、SiriPassbookFind My iPhone、Home、新聞;在最新版本被移除的軟體:YouTube(iOS 6中被移除)、iPod(iOS 5中被拆分成「音樂」和「視訊」)、地圖(iOS 4中使用AGPS輔助的Google地圖;iOS 5中使用格洛納斯系統輔助的Google地圖,在iOS 6及以後的系統中,海外地區使用 Apple Map,而中國大陸地區則使用Apple Map輔助的高德地圖。)、Game Center(可在設定中或遊戲介面中找到)、視訊(iOS 11中改為電視,但在不支援使用電視應用的國家或地區中仍然保留)[12]
  • 第三方應用程式:iOS僅支援從App Store下載應用程式,不允許安裝任何第三方應用程式,如果需要安裝第三方應用程式就必須要經過iOS 越獄(需要連接電腦,且安裝的程式可能存在崩潰等風險),經過越獄後,一款名為Cydia的軟體會被安裝在裝置中,從中可以獲得更多應用程式。[13]

開發

開發人員

iOS 開發者計劃iOS Developer Program)是蘋果公司為iOS開發人員提供的官方專案,該計劃包括為開發人員提供開發工具,技術支援培訓,資格及程式發布稽核等支援[14]蘋果公司的 iOS Dev Center網站亦提供了大量技術和學習資料。此外蘋果公司每年都會舉辦蘋果公司全球軟體開發者年會

開發者每年擁有兩次技術支援事件(TSI),每次允許開發者請求技術支援工程師提供代碼級支援。問題將被分配給合適的工程師以幫助排除代碼問題,指出取得其他技術資源的途徑,或者提供能夠加速其開發過程的變通方法或相應的技術文件。開發者可以通過會員中心的 「Programs & Add-ons」(計劃和附加專案)購買額外的技術支援事件,包括99美元2次技術支援和249美元5次技術支援兩種選擇。

開發工具

基於 Xcode 3.1最終版本的iPhone軟體開發工具包。

iOS軟體開發套件英文iOS SDKSoftware Development Kit);亦稱 iPhone SDK)是由蘋果公司開發的為iOS設計的應用程式開發工具包。首個版本於2008年2月發布。軟體開發套件需要在Mac OS X Leopard及以上系統並擁有英特爾處理器才能執行,其他的作業系統,包括微軟Windows作業系統和舊版本的Mac OS作業系統都不被支援。

然而,只有在交付iOS開發者計劃的費用後才能發布應用程式。開發人員可以通過應用商店發布任意設價的應用程式,付費應用將讓開發人員獲得70%的費用配額,免費的應用程式沒有任何費用配額。

2007年10月17日,賈伯斯在蘋果網站的一封公開信上宣布「軟體開發套件」將會於2008年2月提供給第三方開發商。軟體開發套件於2008年3月6日發布,允許開發者開發iPhoneiPod touch應用程式,並通過「iPhone類比器」對其進行測試。

自從Xcode 3.1發布以後,Xcode就成為了iOS軟體開發套件的開發環境。和Mac OS X的應用程式一樣,iOS應用程式使用Objective-C語言,一些應用程式可以寫成C或C++語言。蘋果通常會發布兩個 iOS 軟體開發套件,包括主要的iOS X.0(例如 iOS 10.0)和次要的iOS X.X(例如 iOS 10.1)。正式版發布前會有幾個測試版公布,目的是測試應用程式的相容性並增加新的功能。

越獄

iOS越獄(英語:iOS Jailbreaking)是取得iOS裝置Root權限的技術手段。iOS系統的Root用戶對除Apple特定私有行程之外的其他行程不開放,使用Root用戶執行的行程在行程樹中的PID為0。程式設計師在iOS中挖掘出一些可以將行程提權至PID0的漏洞(例如Task For PID0)。利用Root用戶執行的行程意味著可以任意讀取裝置其中的APFS分割表和內核快取位址,擁有一個用戶可以隨意控制的PID0行程還不能稱之為一個完整的越獄。之後還需要利用Bypass(旁路)手段繞過Apple在iOS系統中設定的其他安全防護措施,將APFS或HFS+檔案系統中的ROOTFS分割重新掛載(Remount)為可讀寫(R/W),從而達到添加二進位檔案和守護行程的目的。通常大眾用戶認為能夠正常使用Cydia才能被稱為越獄,但其實這種說法是不正確的。但通過此軟體可以完成越獄前不可能進行的動作,例如安裝App Store以外未經過簽名的應用、修改SpringBoard、執行Shell程式、使有運營商鎖的裝置利用卡貼解鎖後通過替換設定檔形式實現在地化(例如「去除+86」,解鎖FaceTime功能)。[15]如果進行了「不完美越獄」(Semi-tethered Jailbreak),那麼裝置重新啟動後將失去越獄環境,需要用特定的軟體重新進入越獄環境。Jay Freeman在2010年10月估計,全球大概有10%的iPhone曾進行過越獄[16]。不過隨著現在 iOS 系統功能的日漸完善,越獄需求已經大不如前。

批評

  1. iOS系統的封閉原始碼導致用戶無法在裝置上實現個人化介面功能,蘋果對系統的控制也使安裝第三方軟體異常困難,當系統有漏洞時只能仰賴蘋果公司發布補丁更新,開發者無法自行進行修補。
  2. 基於iOS的(即iPhone、iPod Touch和iPad),或是其他非基於iOS的(即iPod Classic、iPod Nano和iPod Shuffle),均被批評捆綁iTunes,讓iTunes Store壟斷這些裝置[17]
  3. 發布應用程式只能使用蘋果規定的API,不得使用或呼叫任何公開或私有的API。應用程式起初必須以Objective-C、C、C++或執行iPhone OS Webkit的JavaScript語言編寫,代碼僅能用C、C++編寫,Objective-C需可編譯,直接鏈入API的檔案(禁止應用程式透過中介編譯、相容層和工具鏈入API)[18]
  4. 蘋果公司在iOS中加入開發限制,使得在iOS開發自有應用顯得困難,例如:蘋果規定在iOS平台上所有瀏覽器都必須在自家WebKit彩現引擎上執行,使得非Safari的瀏覽器如Google ChromeMozilla FirefoxOpera必須修改程式碼配合蘋果公司犧牲這些瀏覽器的獨有技術及功能,且在iOS中預設的瀏覽器是Safari,無法使用其他瀏覽器取代[19]
  5. 蘋果對iOS視訊音訊編解碼器的限制,讓iOS裝置只支援自家擁有專利的H.264AAC,排斥先進的開源編解碼器方案,如VP9Opus。讓自家的影音格式在市場上保持優勢。
  6. 蘋果公司刻意在iOS系統藍芽技術上做出限制,只能對iOS裝置進行連接,其他裝置如Android手機,無法透過iPhone進行傳輸。
  7. 許多用戶表示蘋果公司透過iOS版本更新的方式拖慢手機執行速度[20],以加速用戶換機意願,使iPhone的銷量提高,蘋果官方承認為了防止電池老化擅自對系統進行降速[21][22]
  8. 在App Store中超過150MB的應用軟體無法透過行動網路進行下載,只能透過連上WiFi網路來下載。

裝置列表


Apple Watch Series 3Apple Watch Series 3Apple Watch Series 3Apple Watch Series 3Apple Watch Series 2Apple Watch Series 2Apple Watch Series 2Apple Watch Series 2Apple WatchApple WatchApple WatchApple WatchApple TVApple TVApple TVApple TVApple TViPad Mini 4iPad Mini 3iPad Mini 2iPad Mini (1st generation)iPad ProiPad ProiPad ProiPad ProiPad Air 2iPad AiriPad (4th generation)iPad (3rd generation)iPad (2nd generation)iPad (1st generation)iPod Touch (6th generation)iPod Touch (5th generation)iPod Touch (5th generation)iPod Touch#ModelsiPod Touch#ModelsiPod Touch#ModelsiPod Touch#ModelsiPod Touch#ModelsiPhone XiPhone 8iPhone 8iPhone 7iPhone 7iPhone 7iPhone 7iPhone 7iPhone 7iPhone SEiPhone 6SiPhone 6SiPhone 6 PlusiPhone 6iPhone 5SiPhone 5CiPhone 5iPhone 4SiPhone 4iPhone 3GSiPhone 3GSiPhone 3GiPhone 3GiPhone (1st generation)
來源:蘋果公司新聞發布庫,[23] Mactracker 蘋果公司模型資料庫[24]

參考資料

  1. ^ Apple Developer. iOS 11.4.1 (15G77) - Releases. Apple Developer. 2018-7-9. 
  2. ^ iOS 12 beta (16A5345f) - Releases - Apple Developer. developer.apple.com. Aug 6, 2018 [Aug 6, 2018]. 
  3. ^ Apple – iPad Air – View the technical specifications for iPad Air. Apple. [2014-01-01]. 
  4. ^ Apple – iPad mini – View the technical specifications for iPad mini. Apple. [2014-01-01]. 
  5. ^ Apple - iPhone 5c - Technical Specifications. Apple. [2014-01-01]. 
  6. ^ Apple - iPhone 5s - Technical Specifications. Apple. [2014-01-01]. 
  7. ^ Android上季市佔率達88%|香港經濟日報
  8. ^ http://api.ineal.me/tss/status
  9. ^ Haslam, Karen. Macworld Expo: Optimised OS X sits on ' versatile' flash. Macworld. 2007-01-12 [2007-10-15]. 
  10. ^ iPhone OS 4重新命名為iOS4引入微軟Bing新浪科技
  11. ^ 順應廣大子民需求,iPhone OS改名為iOS,iOS 4 6月21日上路!癮科技中文版
  12. ^ Apple Inc. iPhone Applications. 2008-07-10 [2008-07-11]. 
  13. ^ Healey, Jon. Hacking the iPhone. Los Angeles Times. 2007-08-06 [2007-08-06]. 
  14. ^ 蘋果開發者計劃中的標準計劃和企業計劃/蘋果開發者計劃中的標準計劃和企業計劃 網際網路檔案館存檔,存檔日期2013-10-29.
  15. ^ Can I Unlock My iPhone
  16. ^ Freeman, Jay. Caching Apple's Signature Server. saurik.com. [2010-12-18]. 
  17. ^ Thompson, Bill, Time for Apple to face the music?, BBC News, 2007-09-19 
  18. ^ Original iPhone OS 3 Developer Program License Agreement
  19. ^ Google開源iOS版Chrome,加入Chromium專案-ithome
  20. ^ Will iOS 9 Break My Old iPhone?-WSJ
  21. ^ Apple 如何進行其產品溫室氣體生命週期評估?(繁體中文)
  22. ^ Apple 如何執行產品溫室氣體排放的生命周期評估?(LCA)(簡體中文)
  23. ^ 蘋果公司Apple press release library, Retrieved September 19, 2007.
  24. ^ Mactracker (mactracker.ca), Apple Inc. model database, version as of 26 July 2007.

外部連結