學習記錄:iOS技術層

來源:互聯網
上載者:User

標籤:

iOS技術層探索

Apple是以一系列層的方式來描述iOS實現的技術,其中每層都可以都可以在應用程式中使用的不同架構組成。大家最常接觸的Cocoa Touch層就在最上面。

 

          Figure 1: iOS技術層

下面對於每層進行簡單的介紹。

1.Cocoa Touch層

Cocoa Touch層由多個架構構成,為應用程式提供核心功能(比如多任務和廣告功能)。這些架構有:

(1)UIkit

負責啟動和結束應用程式,控制介面和多點觸摸事件,並能讓開發人員訪問常見的資料檢視(eg,網頁以及word和Excel文檔等)。除此之外,UIkit還負責了iOS內部眾多的整合功能,比如訪問多媒體庫,照片庫和加速計。

(2)Map Kit

這個架構的作用是讓開發人員能在任何應用程式中添加Apple的Map視圖,從而實現定位,位置標註導航等功能。

(3)Game Kit

不要被名字迷惑了,這個架構並不是只有遊戲才會用到,它進一步提高了iOS應用的網路互動性,提供了建立並使用對等網路p2p(什麼是對等網路?請看維基百科 )的機制,這包括會話發現,仲裁和語音交談。這些功能可以加入到任何應用中。

(4)Message UI/Address Book UI/Event Kit UI

這三個架構可以讓開發人員在任何應用中加入訪問電子郵件,連絡人和日曆時間的功能。

(5)iAd

iAd架構支援在應用程式中加入廣告。它是互動式廣告組件,使用簡單的拖放操作就可以將其加入到軟體中。在應用程式中,開發這者不用管理iAd互動,Apple會完成的。

 

2.多媒體層

依靠多媒體層中的架構,iOS裝置可以建立複雜的圖形,播放音頻和視頻,甚至產生即時三維圖形(3D)。

(1)AV Foundation

播放和編輯複雜的音頻和視頻,實習進階功能(電影錄製,音軌管理,音頻平移)。

(2)Core Audio

播放和錄製音頻,包含了AudioToolbox架構(播放警報聲或短暫震動)和AudioUint架構(處理聲音)。

(3)Core Image

添加進階映像和視頻處理功能(像什麼Face Service,映像過濾之類的)。

(4)Core Graphics

嚮應用中添加2D繪畫和合成功能。

(5)Core Text

對iPhone螢幕上顯示的文本進行精確的定位和控制。

(6)Image I/O

用於匯入和匯出映像資料和映像中繼資料。

(7)Media Player

讓開發人員能夠用螢幕控制項輕鬆播放電影。

(8)OpenGL ES

是OpenGL架構的子集,適用於嵌入式系統(ES)。用於在應用中建立2D和3D動畫。

(9)Quartz Core

建立利用裝置硬體功能的動畫(?重力感應嗎?)。

 

3.核心服務層(Core Service)

核心服務層用於訪問較低級的作業系統服務,比如檔案存取,iCloud存取,連網等常見的資料物件類型。

(1)Account

始終線上,簡化了儲存帳號資訊及身分識別驗證的過程。

(2)Address Book

用於直接存取和操作地址簿

(3)CFNetwork

讓開發人員可以直接存取BSD通訊端,HTTP和FTP協議請求及Bonjour。

(4)Core Data

提供了一個基於SQLite的關聯式資料庫模型,可用於將資料繫結到介面對象,從而避免使用代碼進行複雜的資料操作。

(5)Core Foundation

是過程性C語言架構,應該避免使用,因為比Objective-C的效率低。

(6)Foundation

提供了一個Objective-C的封裝器(wrapper),封裝了Core Float的功能。操作字串,數組,字典,管理應用程式喜好設定,線程和本地化。

(7)Event Kit

訪問行事曆資訊。

(8)Core Location

GPS,擷取經度和緯度資訊,還有測量精度。

(9)Core Motion

管理iOS平台中大部分與運動有關的事件,比如加速計和陀螺儀。

(10)Newsstand

建立數位媒體期刊

(11)Pass Kit

(12)Quick Look

實現檔案瀏覽功能

(13) Social

針對流行社交網站的架構。

(14)Store Kit

讓開發人員能夠在應用程式中建立購買事物,而無需推出程式。

(15)System Configuration

確定裝置網路的目前狀態:串連的是哪一個網路啊?哪些裝置可達啊?

 

4.核心OS層

是由最低級的iOS服務組成。包括線程,複雜的數學運算,硬體配件和加密。很少訪問這些架構。

(1)Accelerate

簡化了計算和大數操作任務,包括數字訊號處理功能。

(2)Core Bluetooch

串連到低功耗藍牙裝置。

(3)External Accessory

開發到配件的介面,這些配件是基座介面或藍芽串連的。

(4)提供了執行加密(加密/解密資料)的函數,包括與iOS密鑰鏈互動以及添加,刪除和修改密鑰項。

(5)System

讓開發人員能夠訪問不受限制的UNIX開發環境中的一些典型工具。

 

 

 

今天就到這裡啦,可能剛開始寫部落格,沒有什麼文筆,我會繼續努力,向前輩們學習,ありがとうございます!

 

 

 

 

 

 

 

 

 

 

 

學習記錄:iOS技術層

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.