2.4 iPhone OS

What is iOS?

iOS目前主要泛指在iPod Touch、iPhone、iPad三種平台上的作業系統,為蘋果公司所開發,

是一個以Darwin為基礎的無線行動作業系統,原本名稱為iPhone OS,在2010年6月7號的WWDC,正是改名為iOS。

iOS的架構分為四個層次,為:

 

核心作業系統層(the Core OS layer)

核心服務層(the Core Services layer)

媒體層(the Media layer)

可觸碰層(the Cocoa Touch layer)

 

特性

螢幕顯示關乎一切

藉由iOS Human Interface Guide我們可了解,在iOS平台上的操作,幾乎都是在螢幕上執行,下面3點可以給iOS諸平台適用的:

  • 最舒適的點擊區域大小是 44 x 44 點 (Points而非Pixels)
  • 應用程式的圖片設計影響是很明顯的
  • 使用者專注在內容上

iDevice各類機種的解析度

裝置顯示方向

基本上,原則就是Home Screen如何,進入應用程式的預設顯示方向就會是如何。

  • 由於iPhone以及iPod Touch的主畫面(Home Screen),只會有一種顯示方向就是dock在螢幕下方,所以預設進入到應用程式時,就應該會是直立向。
  • 在iPad上由於主畫面可以是可以轉向的,所以使用者預期進入應用程式時,方向會有一致性。

不用學習的基本操作手勢

使用者不會去發掘特殊的操作手勢,就算偶爾發現非一般手勢,並驚呼原來可以這樣做時,也只是偶爾,所以讓人們擁有連貫性的使用經驗,利用所有iOS內建的原有手勢,是讓應用程式成功的主要因素,下面的表格是一些基本的手勢。

一些基本的iOS使用手勢

蘋果也指出,雖然所有iOS裝置都支援多點觸控的手勢,大螢幕提供比較多手指運作的空間,但不代表多指的手勢比較好;猜測使用者不會知道或者在大多數場合,使用者還是習於一手一指走天下。

人們一次只會跟一個應用程式互動

在使用者的面前,只會有一個應用程式在前台與使用者互動。在iOS 4之前,應用程式被關掉之後,就會被從記憶體中移除;但iOS 4之後,他可能會在背景繼續執行,這個一般稱之為多工(Multitasking),應用程式通常會在背景執行直到他們下次被呼叫出來,或者直接被終止工作才會停止運作。

在主畫面中,快速按Home Screen圓鈕兩次,就可以叫出位於畫面最底端的多工選單,使用者可以快速的找到最近用過的應用程式。當使用者再一次使用這些應用程式的時候,這些程式就不用再重新被載入,而是會被從他們上次跳出的地方進入。

極少化螢幕上的幫助功能

移動裝置的使用者,其實不會花太多時間去研究到底應用程式裡整體有什麼功能,所以除非他們有感覺到獲得好處或好用,接著才會到利用所謂的幫助功能,iOS裝置以及內建應用程式都被設計得非常直覺並易於使用,所以依此類推,所有應用程式都應該被以這種少說明甚至是無說明的方式在執行。

軟體

iPhone和iPod Touch使用基於ARM架構的中央處理器,而不是蘋果的麥金塔計算機使用的x86處理器。因此,Mac OS X 上的樣用城市不能直接複製到iOS上執行。他們需要針對iOS的ARM重新編寫。而iOS上的軟體分為兩種:web應用程式 和 iOS應用程式。從iOS 2.0開始,通過審核的第三方應用程式已經能夠通過蘋果的App Store進行發布和下載了。

網站內容

網站內容則是主要由一個網站提供內容,但是透過iOS裝置瀏覽。又可以分成3種形態:

  • 網站應用程式(Web apps),行為近似於iOS應用程式,一般的網站應用程式通常會隱藏Safari瀏覽器的介面,讓他看起來像是原生的應用程式。
  • 優化網頁(Optimized webpages),網頁有針對iOS上的Safari瀏覽器進行最佳化,並移除一些不被支援的效果,像是Plug-In、Flash以及Java。更甚者,還會針對螢幕大小進行內容的排版調整等,以使得在裝置上可以被最佳的閱讀。
  • 相容網頁(Compatible webpages),這是與上者相對的,網頁可以在iOS上被瀏覽,但是通常會遇到一些無法支援的元素,排版之類的也不見得會適合在裝置上閱讀,但是通常都可以被顯示出來。

iOS應用程式

iOS是利用iOS SDK開發的應用程式,也可以稱之為原生應用程式(Native App),由於這些iOS應用程式重組了內建應用程式的特色,所以依附在裝置上之時,就可以在iOS環境下有特別的優勢。人們會把這些應用程式當作像內建的相簿、行事曆以及信箱等....

而在iOS上,許多應用程式之間都是有聯繫的,如此一來不同的應用程式能夠分享同一個資訊(如當你收到了包括一個電話號碼的簡訊息時,你可以選擇是將這個電話號碼存為聯絡人或是直接選擇這個號碼打一通電話)


在4.1版本的韌體中,iPhone的主介面包括以下自帶的應用程式: SMS (簡訊)、日曆、照片、相機、 Youtube、股市、地圖(AGPS輔助的Google地圖)、天氣、時間、計算器、備忘錄、系統設定、iTunes (將會被鏈接到iTunes Music Store和iTunes廣播目錄)、App Store、GameCenter以及聯絡資訊。還有四個位於最下方的常用應用程式包括有:電話、Mail、Safari和iPod。

除了電話、簡訊,iPodTouch保留了大部分iPhone自帶的應用程式(第四代的iPodTouch新增了相機和FaceTime)。 iPhone上的"iPod"程式在iPod Touch上被分成了兩個:音樂和視訊。位於主介面最下方dock上的應用程式也根據iPod Touch的主要功能而改成了:音樂、視訊、照片.

iPad只保留部分iPhone自帶的應用程式: 日曆、通訊錄、備忘錄、視訊、Youtube、iTunes Store、App Store以及設定;四個位於最下方的常用應用程式是:Safari、Mail、照片和iPod


軟體開發
如何開發

2007年10月17日,Steve Jobs 在一封張貼於蘋果公司網頁上的公開信上宣布軟體開發工具包。它將在2008年2月提供給第三方開發商。軟體開發工具包於2008年3月6號發布,並允許開發人員開發iPhone和iPod touch的應用程式,並對其進行測試,名為「 iPhone手機模擬器」 。然而,只有在付出了iPhone手機開發計劃的費用後,應用程式才能發布。自從Xcode 3.1 發布以後, Xcode就成為了iPhone軟體開發工具包的開發環境,而開發iOS應用程式所使用的程式語言為Objective C,是一種base on C語言的物件導向程式語言,藉由Xcode的開發介面,則能省去許多開發的步驟。

SDK


由於iOS是從於Mac OS X核心演變而來,因此開發工具也是基於Xcode。 該SDK可分類為下列幾大項:

  • 觸控(Cocoa Touch)
    • 多點觸控事件和控制(Multi-touch events and controls)
    • 加速支援(Accelerometer support)
    • 檢視等級(View hierarchy)
    • 在地化(i18n)(Localization (i18n))
    • 相機支援
  • 媒體
    • 圖像檔案格式(Image file formats)
    • OpenAL
    • 混音及錄音(Audio mixing and recording)
    • 視訊播放
    • Quartz
    • Core Animation
    • OpenGL ES 
  • 核心服務
    • 地理位置(GeoLocation)
    • 線程(Threads)
    • 網路
    • SQLite嵌入式資料庫
  • OS X核心
    • 套接字(Sockets)
    • 電源管理
    • 檔案系統(File system)
    • 安全
    • TCP/IP協議


SDK開發工具中包含的iPhone模擬器用來在開發人員的電腦上模擬iPhone的外觀和感覺。最初它被稱為阿斯模擬器(Aspen Simulator),它被重新命名於BETA2版中發布的SDK 。該SDK需要擁有英特爾處理器且執行Mac OS X Leopard系統的Mac才能使用。其他的作業系統, 包括微軟的Windows作業系統和舊版本的Mac OSX都不被支援。

ps.若對開發有興趣,ui部分可參閱:iOS Human Interface Guidelines objetive C可參閱itunesU上的objective C課程

Jailbreak

Jailbreak簡稱JB,俗稱越獄,在iOS上的JB就是藉由作業系統上的漏洞,讓iOS device執行不被蘋果公司所允許的功能,例如在iOS4之前的multitasking是不被允許的,因為蘋果公司認為需要在多工與硬體效能之間找到平衡的比例,但是許多玩家認為沒有多工即喪失了智慧型手機的意義,而Jailbreak則滿足了這些玩家的需求,JB後的iPhone並不與盜版以及不合法畫上等號,美國在2010年中也宣布了JB的合法化,Jailbreak iOS只是給了iDevice更大的天空。

Jailbreak的版本

小記

出生於1989年10月2日的天才Geohot原本雨他的團隊在2008年從事iDevice的Jailbreak研發,陸續推出各種iOS版本的JB,在2009年中因為與團隊理念不和而脫離團隊自行研發,2009年底推出自行研發的黑雨(blackra1n),2010年中表示沒有任何計畫對蘋果公司推出全新的iOS4進行破解,然而在原本團隊即將推出新的破解工具前夕,Geohot提早釋出他自行研發的Jailbreak工具limera1n,讓Geohot再一次成名

 

版本歷史

資料來源及參考:wikipedia、inside、iphone4tw、自己