標籤:
iOS架構介紹
Cocoa Touch GameKit 實現對遊戲中心的支援,讓使用者能夠線上共用他們的遊戲相關的資訊 iOS裝置之間藍芽資料轉送 從iOS7開始到期 區域網路遊戲 http://www.cnblogs.com/KidReborn/archive/2011/10/17/2215641.html iAd 用來在應用中提供廣告條廣告條與使用者UI視圖進行合并,與蘋果的iAd服務一起工作,自動處理、載入和呈現富媒體廣告以及應答在那些廣告條上的點擊等所有相關的工作。http://www.cocoachina.com/appstore/20100628/1762.html MapKit 地圖工具定製地圖的內容和外觀,圖釘註解,線路 http://www.cnblogs.com/kenshincui/p/4125570.html MessageUI 在應用中提供編輯郵件和sms訊息的支援撰寫電子郵件,並將其放入到使用者的寄件匣排隊等候發送該架構提供一個SMS撰寫面板控制器。您可以通過它在應用程式中直接建立並編輯SMS資訊(無需離開應用程式) UIKit 提供實現圖形和事件驅動的應用的至關重要的基礎。功能包括:基本的應用管理和基礎設施,包括應用的主迴圈;使用者介面管理,包括對storyboards和nib檔案的支援;一個用來封裝使用者UI內容的視圖控制器模式; 標準系統檢視表和控制對象;提供處理觸摸和運動事件的支援;支援包括與iCloud整合功能的文檔模式;
Document-Based App Programming Guide for iOS http://www.cnblogs.com/geory/archive/2013/03/27/2983737.html圖形和視窗支援,包括支援外部顯示器;
View Programming Guide for iOS多任務支援;列印支援;
Drawing and Printing Guide for iOS定製標準UIKit控制的外觀;支援文本和web內容;剪下、複製、粘貼的支援;支援動畫UI;通過url語義和架構介面與系統提供的其它應用整合的能力;對有障礙使用者的可存取性的支援;支援ApplePush Notification服務;
Local and Remote Notification Programming Guide本地通知調度和提交;
Local and Remote Notification Programming Guidepdf 建立;支援定製像系統鍵盤行為一樣的使用者輸入視圖;支援建立與系統鍵盤互動的定製的文本視圖;支援通過email,Twitter, Facebook和其它服務共用內容。也支援一些裝置特定功能的整合,例如1、內建的攝像機; 2、使用者的圖片庫; 3、裝置名稱和模式資訊; 4、電池狀態資訊; 5、接近感應器資訊; 6、來自附件耳機的遠端控制資訊內部各類簡介 http://blog.csdn.net/dean19900504/article/details/7995118
Media Layer CoreImage 提供非破壞的方式(原先的映像不被改變)操作視頻和靜態映像提供一組強大的內建過濾器,在觸摸彈起、糾正圖片以及面部和特徵檢測等許多方面使用(coreImage只是對映像進行處理,不是視圖繪製和渲染,區別CG,GL等)圖片濾鏡 http://www.csdn.net/article/2015-02-13/2823961-core-image ImageIO 提供輸入和輸出映像資料和映像中繼資料的介面。該架構利用CoreGraphics資料類型和功能,並支援在ios 上所有的可獲得的標準的映像類型。你能使用這個架構存取Exif和IPTC中繼資料屬性。圖片漸進式顯示(SD對應功能原理) http://blog.csdn.net/dyllove98/article/details/9707681 核心CGImageSource類屬於ImageIO,和CG配合使用 AssetsLibrary 使用者資產庫,存取使用者的圖片、視頻和媒體。提供一個查詢介面,尋找使用者照片和資料。可以訪問使用者儲存的相簿以及匯入到裝置中的圖片或視頻,也可以將照片或者視頻儲存到使用者的相簿。相簿的多圖選擇 http://www.cnblogs.com/salam/archive/2012/12/23/2830250.html PhotoKit 專門針對相片相簿,比AssetsLibrary 更靈活也更高效相簿架構專題 http://kayosite.com/ios-development-and-detail-of-photo-framework.html/comment-page-1 GLKit 提供OpenGL ES架構物件導向的介面,OpenGL是嵌入式裝置中對軟體進行圖形加速,高品質壓縮等處理的跨平台開源架構該架構常用於遊戲開發 http://blog.sina.com.cn/s/blog_3e50cef401019cxq.html CoreGraphics 核心繪圖,包含Quartz 2D繪圖API介面
Quartz 是Mac OS X系統使用的向量繪圖引擎,它支援基於路徑繪圖、消除鋸齒渲染、漸層、圖片、顏色、座標空間轉換、PDF檔案的建立、顯示和解析。雖然API基於C語言,但是它使用基於對象的抽象以表示基本繪圖對象,這樣可以讓開發人員可以更方便地儲存並複用映像內容 圖形編程專題 http://www.cocoachina.com/ios/20141104/10124.html QuartzCore 包含Core Animation介面,主要用於動畫
Core Animation是 進階動畫製作和混合技術,它使用經過最佳化的渲染路徑實現複雜的動畫和視覺效果。它提供的進階Objective-C介面可對動畫效果進行配置,然後在裝置 硬體中進行渲染,以此來提高程式的效能。Core Animation架構被整合到iOS的許多部分(包括UIKit架構中的許多類(如
UIView)),可以為多種系統行為提供動畫效果。開發人員也可以使用該架構中的Objective-C介面直接建立定製動畫。http://blog.csdn.net/light_jewel/article/details/7819525 SpriteKit 為2d和2.5d遊戲提供硬體加速的動畫系統 SpriteKit提供大多數遊戲需要的基礎,包括一個圖形引擎和動畫系統,聲音播放支援,一個物理模擬引擎。在Sprite Kit應用中內容組織為情境。一個情境包括紋理對象,視頻,路徑圖形,核心映像過濾器和其它的特效。SpriteKit利用這些對象,確定這些對象到螢幕 上的最有效方式。當在情境中到了動畫內容的時刻,你能使用SpriteKit來顯式規定你想執行的行動或使用物理模擬引擎來為那些對象定義物理行為(例 如重力、引力或排拆力)。除了SpriteKit架構,也有其它Xcode工具來建立顆粒發射效果和紋理圖。你能使用Xcode工具來管理應用資源和快速地更新Sprite Kit情境。http://www.cocoachina.com/industry/20130930/7087.html OpenAL 用來在應用中提供位置音效(立體感)的跨平台的標準。多針對遊戲,用於多通道三維位置音效的特效表現,能夠使用該介面在遊戲和其它需要位置音效輸出的程式中實現高效能、高品質的聲音。因為OpenAL是跨平台的標準,在iOS使用OpenAL編寫的代碼能夠容易地移植到許多其它平台。 http://blog.csdn.net/zengconggen/article/details/7591233 GameController 遊戲控制器發現和配置針對iPhone/iPod/iPad裝置的遊戲控制器。遊戲控制器可以是物理串連到iOS裝置或者是通過藍芽無線串連。GameController架構當控制器可獲得時通知你的應用讓應用可以規定哪個控制器輸入與你的應用相關。 http://blog.csdn.net/wanglang3081/article/details/39716959 MediaPlayer 為應用程式播放視頻和音頻內容提供支援可使用標準系統介面播放視頻,支援全屏和小視窗視頻播放 http://www.cnblogs.com/kenshincui/p/4186022.html#video添加對itunes庫支援,播放音樂曲目、播放清單、搜尋歌曲並向使用者顯示媒體選取介面為使用者提供可選的播放控制,新增數個介面用於支援配置和管理電影播放 AVFoundation 為管理聲音以及視頻播放和記錄提供進階支援,功能包括媒體資源管理,媒體編輯,電影捕捉,電影播放,曲目管理,,媒體項的中繼資料管理,立體聲淘選,不同聲音的精確同步,判斷音效檔詳細資料等自訂播放器 http://blog.csdn.net/ioswyl88219/article/details/20403025 MP對比AV:高度封裝,無法自訂播放器,AVFoundation可以,更靈活更底層;MP不提供錄影功能AV/MP對比第三方架構:支援格式較少第三方架構 VLC ffmpeg http://blog.csdn.net/leixiaohua1020/article/details/12677129 視頻監控/ApsaraVideo for Live HLS協議
http://www.cnblogs.com/haibindev/archive/2013/01/30/2880764.html MediaAccessibility 管理媒體檔案中字幕的設定管理媒體檔案中字幕(closed-caption)內容的顯示。通過該Framework與settings的結合,可以讓使用者開啟字幕的顯示並設定字幕樣式。 CoreAudio 架構提供C語言介面,可用於操作立體聲音頻 可通過該架構訪問裝置的震動功能(支援震動功能的裝置)。擴音器耳機模式的切換 http://www.tuicool.com/articles/YVnAJb CoreVideo 為Core Media架構提供緩衝和緩衝池支援。多數應用從不直接使用該架構。 CoreText 提供一個對文本進行布局和字型處理的簡單的、高效能的C-based介面提供一個完整的文本布局引擎,可以通過它管理文本在螢幕上的擺放。所管理的文本也可以使用不同的字型和渲染屬性。用在不使用TextKit但仍想獲得在文書處理應用中先進文本處理能力的情境,NSAttributedString的前身圖文混排 http://www.cocoachina.com/industry/20140521/8504.html StoreKit 提供iOS內購介面提供在ios應用中購買內容和服務的支援,也可以為付費內容部分進行解鎖 http://blog.csdn.net/xiaominghimi/article/details/6937097/
Core Services NewsstandKit 為使用者提供了一個閱讀雜誌和報紙的中心位置想通過Newsstand提供雜誌和報紙內容的出版商能夠使用該架構建立它們自己的iOS應用,讓使用者啟動新雜誌和報紙新聞的後台下載。在啟動下載後,系統處理下載操作和當內容可獲得時通知應用。 http://mobile.51cto.com/iphone-423385.htm AddressBook 在系統通訊錄中建立新的連絡人和編輯和選擇已存在的連絡人 http://supershll.blog.163.com/blog/static/37070436201272821810474/ AdSupport 提供存取應用用於廣告功能的一個標識。該架構也提供一個指示使用者是否選擇廣告跟蹤的標誌。應用在試圖存取廣告標識前需要度和判斷這個標誌。 Accounts 使用者帳號資料庫—用於iOS原生支援的單點登入iOS5開始iOS原生支援部分社交平台單點登入,若使用者在設定中設定平台帳號,則App代碼中使用account架構並對應平台,可直接進行單點登入操作 http://guandongsheng.iteye.com/blog/1866659 http://blog.csdn.net/ysy441088327/article/details/8275808優點:無需web形式取token 系統設定賬戶可以同步暱稱&頭像缺點:原生僅支援部分平台 必須使用特定的api進行網路請求(SLRequest social.framework) Social 提供一個簡單的介面來存取使用者的社交媒體帳號該架構取代Twitter架構並增加了其它社交帳號,包括Facebook、Sina微博以及其它應用能使用該架構提交狀態更新和映像到使用者帳號。該架構與Accounts架構一起為使用者提供單點登入並確儲存取的使用者帳號是經過准許的。 MultipeerConnectivity 用於iOS裝置之間的串連,從iOS7開始引入(取代Gamekit藍芽傳輸模組),主要用於檔案分享權限設定(僅限於沙箱的檔案)提供一個完整的文本布局引擎,可以通過它管理文本在螢幕上的擺放。所管理的文本也可以使用不同的字型和渲染屬性。 Foundation Core Foundation架構的許多功能提供Objective-C封裝提供功能:群體資料類型 (數組、集合等);程式包;字串管理;日期和時間管理;未經處理資料塊管理;偏好管理;URL及資料流操作;線程和RunLoop;Bonjour;通訊連接埠管理;國際化;Regex匹配;緩衝支援 http://www.cnblogs.com/kenshincui/p/3885689.html#foundation
CoreData iOS用於資料庫技術的架構
管理模型-視圖-控制器應用程式資料模型的技術,它適用於資料模型已經高度結構化的應用程式通過此架構不需要通過編程定義資料結構,而是通過Xcode提供的圖形工具構造一份代表資料模型的圖表。在程式啟動並執行時候,Core Data架構就會建立並管理資料模型的執行個體,同時還對外提供資料模型提供者。通過Core Data管理應用程式的資料模型,可以極大程度減少需編寫的代碼數量。除此之外,Core Data還具有下述特徵:將對象資料存放區在SQLite資料庫以獲得效能最佳化。提供
NSFetchedResultsController 類用於管理表視圖的資料。管理undo/redo操作。屬性值校正支援。支援對資料變化進行傳播,並且不會改變對象間的關聯。支援對資料進行歸類,過濾,並支援對記憶體資料進行管理。 http://blog.csdn.net/kesalin/article/details/6739319 PassKit 對應用提供系統應用PassBook的介面
Passbook提供了一個儲存訂貨單、登機卡、入場券和商業折扣卡的位置,代替物理攜帶這些東西卡劵由應用自身的web service建立並通過email、Safari或定製的應用提交到使用者的裝置。電子入場券本身使用特殊的檔案格式,在提交之前被加密簽名,簽名去開發人員中心申請,支付時通過二維碼和商戶互動需要應用支援,是iOS官方提供的NFC解決方案,提供如到達商戶位置自動提醒優惠券的功能 http://blog.csdn.net/eqera/article/details/8136880 Safari Services 為應用提供添加url到safari書籤的介面
QuickLook 預覽無法直接支援查看的檔案內容對於一些未知的格式,我們一般可以通過webview開啟,如pdf、doc、docx、xls、xlsx、ppt、txt及一些常見圖片格式QuickLook架構可以做到以上webview的功能(OSX上的空格預覽,xcode圖片外掛程式顯示bundle圖片),通過預覽的形式,比webview效能好並且支援適配,跳頁和選擇應用開啟等 http://blog.csdn.net/kmyhy/article/details/9216461 CFNetwork C語言的iOS網路架構相對Connection、Session更底層更靈活,ASI的實現基於CFNetworkhttp://blog.csdn.net/kesalin/article/details/8801156 EventKit 月曆事件UI架構 為訪問使用者裝置的日曆事件提供介面
可以通過該架構訪問使用者日曆中現有事件,可以增加新事件。日曆事件可包含鬧鈴,而且可以配置鬧鈴啟用規則 http://www.swiftmi.com/topic/248.html http://www.tairan.com/archives/7729/ CoreLocation iOS定位架構可以利用裝置具備的硬體,通過附近的GPS、蜂窩基站或者WiFi訊號等資訊計算使用者方位。Maps應用程式就是利用此功能在地圖上顯示使用者當前位置。可以將此技術結合到應用程式,以此向使用者提供方位資訊。例如,應用程式可根據使用者當前位置搜尋附近飯店、商店或其他設施 。 Mobile Core Services 移動核心服務架構定義在通用類型標識符(UTIs)中使用的低層級類型。很多API是私人未公開的,如LSApplicationWorkspace 擷取系統的所有安裝app http://www.kejik.com/article/8004.html Core Telephony 提供與蜂窩通訊(移動流量)相關的資訊互動的介面使用該架構來獲得使用者的蜂窩服務提供者的資訊。對蜂窩call事件(網路電話)感興趣的應用例如VoIP應用也能在那些事件出現時被通知。越獄下,可以監聽來電資訊 http://blog.csdn.net/likendsl/article/details/8425046 Core Motion 提供一組介面來存取裝置上可獲得的動作資料該架構支援使用一組新的block-based介面來存取原始和加工過的加速度計資料。對於帶有陀螺儀的裝置,你也能獲得原始的陀螺儀資料和加工過的反應裝置方向和旋轉速度的資料。你能在遊戲或其它使用運動作為輸入或作為增強使用者體驗的方式的應用中使用加速度計和陀螺儀兩種資料。對於帶有計步硬體的裝置,你能存取它的資料來跟蹤健康相關的運動。 感應器計步(iOS8以後可直接使用healthkit) http://blog.csdn.net/wzq9706/article/details/7419376 http://www.zhihu.com/question/24696689 http://www.cocoachina.com/bbs/read.php?tid-284467.html Healthkit 為應用提供健康和健身資料的介面HealthKit管理從不同來源獲得的資料,並根據使用者的喜好設定,自動將不同來源的所有資料合併起來。HealthKit也可以直接與健康和健身裝置一起工作 http://www.csdn.net/article/2015-01-23/2823686-healthkit-tutorial-with-swift/1 JavaScriptCore 為許多標準的JavaScript對象提供Objective-C語言的封裝使用該架構來執行JavaScript代碼和分析JSON資料其實只是基於webkit中以C/C++實現的JavaScriptCore的一個封裝,在iOS7蘋果引入該架構之前,很多開發人員也會自行將webkit的庫引入項目編譯使用 相比webview的oc&js互調更加靈活,包括資料類型/方法的轉換、監聽js調用異常等 http://www.cnblogs.com/ider/p/introduction-to-ios7-javascriptcore-framework.html基於JavaScriptCore的OC&JS互調 http://blog.csdn.net/lwjok2007/article/details/47058101 CoreFoundation 為ios應用提供基本的資料管理和服務功能的C-based介面功能包括:集合資料類型(數組、集合等等);應用打包Bundles;字串管理;日期和時間管理未經處理資料塊管理Preferences管理;URL和流操作;線程,連接埠和socket通訊等Foundation架構與CoreFoundation架構緊密相關,為相同的準系統提供Objective-C介面。當你需要混合使用Foundation對象和Core Foundation類型時,你能利用兩個架構之間存在的“toll-freebridging”。toll-free bridging”意味著你能可交換地在兩個架構的方法和功能中使用一些CoreFoundation和Foundation類型。這個支援對許多資料類型可用,包括集合和字串資料型別。每個架構的類和類型描述聲明一個對象是否是toll-freebridged以及在是的情況下來標識它串連到什麼對象。 SystemConfiguration 可用於確定裝置的網路設定的介面你能用它來確定裝置的網路設定,也能使用該架構確定一個Wi-Fi或蜂窩串連是否在用以及一個特定的主機伺服器是否能夠存取iOS開源的Reachability架構就是基於此架構 http://blog.csdn.net/sanpintian/article/details/7642756 http://www.cnblogs.com/worldtraveler/p/4708092.html Core Media 核心媒體架構提供由AV Foundation架構使用的底層媒體類型。大多數應用從不需要使用該架構,但少數需要更精確控制音視頻內容建立和呈現的開發人員可以使用它。
Core OS Accelerate 加速向量計算加速架構,其中含有C的API用於向量和矩陣運算,大數字以及DSP(數字訊號處理)運算和影像處理兩個核心庫vecLib(vector 向量)和vImage(影像處理)vImage應用:iOS毛半透明效果 四種實現 http://www.cocoachina.com/ios/20141223/10731.html http://www.zhihu.com/question/21260575 vimage卷積演算法 vImageBoxConvolve_ARGB8888 最靠譜coreImage濾鏡 CPU渲染,效率低耗時間長度UIBlurEffect iOS8新特性GPUImage 速度和效果都不好,但是cpu佔用更少 http://www.cocoachina.com/industry/20140210/7793.html ExternalAccessory 用於第三方藍牙裝置互動,但是藍牙裝置必須經過蘋果MFi認證(國內較少)
CoreBluetooth ( 時下熱門)可用於第三方藍牙裝置互動必須要支援藍芽4.0 硬體至少是4s,系統至少是iOS6 藍芽4.0以低功耗著稱,一般也叫BLE(Bluetooth Low Energy)目前應用比較多的案例:運動手壞、嵌入式裝置、智能家居 Security 安全架構除了內建的安全功能,iOS也提供了一個明確的安全架構(Security.framework),你能用它來保證應用管理的資料的安全。該架構提供管理憑證、公有和私人key和信任策略的介面。支援產生加密安全偽隨機碼。它也支援在keychain(儲存敏感使用者資料的安全倉庫)中儲存認證和加密key。公用加密庫提供對稱式加密、hash認證編碼(HMACs)、數位簽章等額外支援,數位簽章功能本質上與iOS上沒有的OpenSSL庫相容。在你建立的多個應用之間共用keychain是可能的。共用使它容易在相同的一套應用之間更平滑的協作。例如,你能使用該功能來共用使用者口令或其它元素,否則可能使每個應用都需要提示使用者。為了在應用之間共用資料,必須為每個應用的Xcode工程配置適當的許可權。RSA加密 http://blog.csdn.net/xyxjn/article/details/17260871iOS安全專題 http://security.ios-wiki.com/ Generic Security Services 通用安全服務架構GenericSecurity Services 架構 (GSS.framework)給ios應用提供一組標準安全相關的服務。該架構的基本介面規定在IETFRFC2743 andRFC4401。除了提供標準的介面,IOS還包括一些沒有在標準中規定但被許多應用需要的一些管理憑證需要的額外東西。 System 系統架構系統層包括核心環境、驅動及作業系統底層UNIX 介面。核心以Mach為基礎,它負責作業系統的各個方面,包括管理系統的虛擬記憶體、線程、檔案系統、網路以及進程間通訊。這一層包含的驅動是系統硬體和系 統架構的介面。出於安全方面的考慮,核心和驅動只允許少數系統架構和應用程式訪問。應用程式可以使用iOS提供的
LibSystem庫訪問多種作業系統底層功能。
LibSystem庫的介面基於C語言,可為下述功能提供支援: 線程 (POSIX GCD),網路 (BSD sockets),檔案系統訪問,標準 I/O,Bonjour和 DNS服務,地區資訊,記憶體配置,數學計算 更多資料 http://blog.csdn.net/iukey/article/details/7666482
iOS架構介紹