iOS基礎篇-系統框架匯總

iOS系統架構

iOS系統架構分下面四層,每層都建立在它的下面一層基礎之上。

  • Cocoa Touch(可觸摸層):代表UIKit

負責用戶的觸摸交互操作,為程序提供常用框架,大部分框架與界面有關

  • Mdia(媒體層):代表Core Graphics/Core Animation/Open GL ES

通過它我們可以使用各種媒體文件,可以繪制圖形,制作動畫以及音頻視頻錄制

  • Cocoa Services(核心服務層):代表Foundation/Core Data

通過它可以訪問一些服務

  • Core OS(核心操作系統層)

可以直接和硬件設備交互,我們可以做內存管理,文件系統,電源管理等操作

延伸

OC是C語言的擴展集,OS X和iOS平臺上所有應用程序都是用OC語言開發的
OS X:蘋果電腦系統
iOS: iPhone/iPad移動系統
蘋果提供了兩種工具包,都是用OC語言開發的
Cocoa:針對OS X系統
Cocoa Touch:針對iOS系統

什么是框架

框架是一種把頭文件,庫,圖片,聲音等內容聚集在一個獨立單元中的集合體
每個框架都是一個重要的技術集合,通常包含數十甚至上百個頭文件,每個框架都有一個主頭文件,它包含了框架內所有的頭文件,通過在頭文件中使用#import,可以訪問框架內的所有功能

系統框架Foundation和UIKit

在你開發時,主要使用的框架就是這兩個,我們知道,基本所有的框架都是建立在Foundation框架上面的

  • Foundation
    Foundation框架是以CoreFoundation框架為基礎創建的,CF框架是用C語言寫的,函數和變量名稱以CF開頭
    使用Foundation框架我們可以:
    1-NString
    2-NSArray和NSDictionary(只能存對象)
    3-NSNumber(可以將基本數據類型封裝成對象)
    4-NSData
    5-NSValue(可以封裝任意值)
    6-NSNull
    7-操作URL
    8-執行異步代碼

  • UIKit
    UIKit提供了用戶界面層使用的類和方法,UIKit框架類組織架構圖如下:

系統Core框架

  • Core Data
    可以創建并管理模型對象
  • Core Graphics
    可以創建復雜圖形,包含Quartz 2D接口
  • Core Animation
    創建高級動畫和虛擬效果
  • Core Foundation
    基本軟件服務,包括常見數據類型,字符串,資源管理及偏好設置等
  • Core Location
    包含確定用戶方位信息接口,它可以使用硬件設備來進行定位服務,不需要地圖,精度相對略差,省電。
  • Core Media
    包含操作音頻和視頻的底層
  • Core Motion
    包含訪問加速器和陀螺儀的數據接口
  • Core Text
    包含一個文本渲染的布局引擎,可以滿足開發中遇到的關于文字排版的所有需求,包括富文本,表情,符號畫等
  • Core Image
    圖像處理,也可以人臉識別

系統Kit框架

  • MapKit
    能夠使應用程序做一些地圖展示與交互的相關功能,必須有地圖,精度相對較高,費電。
  • GameKit
    可以為游戲添加一些有趣的功能,例如游戲中的語音聊天,集成GameCenter
  • HealthKit
    可以分享健康和健身數據,也可以自動導入計步數據
  • HomeKit
    智能家居
  • CloudKit
    基于iCloud的云端數據存儲
  • ResearchKit
    專為醫學研究者打造的一款軟件基礎架構,可以基于這個架構創建出各種健康應用

系統其它框架

  • Quartz Core
    提供用戶視覺反饋,我們最終看到的界面顯示都是圖層混合的結果,圖層就是Quartz Core中的CALayer
  • OpenGL ES
    提供2D和3D的繪圖工具,如模擬飛行,視頻游戲
  • Accelerate
    加速器
  • AddressBook
    地址簙
  • AddressBookUI
    地址薄UI
  • MessageUI
    發短信
  • AssetsLibrary
    資源庫框架
  • AudioToolbox
    音頻工具箱
  • AudioUnit
    音頻單元
  • AVFoundation
    可以使用和創建基于時間的視聽媒體的框架
  • CFNetwork
    訪問網絡的接口
  • MediaPlayer
    可以實現視頻播放
  • SystemConfiguration
    測試連接網絡狀態
  • AudioToolbox
    是一個音頻接口,用于在線流媒體音樂的播放
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • iOS的系統架構分為四個層次:核心操作系統層(Core OS layer)、核心服務層(Core Services...
    zhaihongxia閱讀 2,926評論 0 3
  • 6轉載-->>IOS框架和服務 在iOS中框架是一個目錄,包含了共享資源庫,用于訪問該資源庫中儲存的代碼的頭文件,...
    李小六_閱讀 3,639評論 2 24
  • 在iOS中框架是一個目錄,包含了共享資源庫,用于訪問該資源庫中儲存的代碼的頭文件,以及圖像、聲音文件等其他資源。共...
    ch123閱讀 1,796評論 0 1
  • 唯有你是不可取代 01 我和183先生絕逼孽緣,相愛相殺你死我活冷若冰霜干柴烈火一陣一陣反復無常那種。科普一下,我...
    車長莊莊閱讀 854評論 0 0
  • 那時候,孤身在城市,一個人闖。雖然城市的森林里,不僅有無限的風光,更有無盡的凄惶。 那時候,只因一把吉他,就嫁給了...
    胡不拉閱讀 280評論 0 0