iOS技術概述
iPhone SDK 包含哪些東西?
本文引用地址:http://cqxgywz.com/article/201609/304769.htm蘋果公司將大部分系統接口發布在框架這種特殊的數據包。一個框架就是一個目錄,它包含一個動態共享庫以及使用這個庫所需的資源(例如頭文件、圖像以及幫助應用程序等)。如果要使用某個框架,則需要將其鏈接到應用程序工程,這一點和使用其他共享庫相似。另外,您還需要告知開發工具何處可以找到框架頭文件以及其他資源
除了使用框架,蘋果公司還通過標準共享庫的形式來發布某些技術。 由于iOS以UNIX為基礎,操作系統底層的許多技術都源自開源技術,這些技術的許多接口可以從標準庫和接口目錄訪問。
Cocoa Touch 層
Cocoa Touch層包含創建 iOS應用程序所需的關鍵框架。上至實現應用程序可視界面,下至與高級系統服務交互,都需要該層技術提供底層基礎。在開發應用程序的時候,請盡可能不要使用更底層的框架,盡可能使用該層的框架。
多任務
盡管應用程序進入后臺就會被掛起,但可以通過下述的技術讓其在后臺繼續運行:
應用程序可以請求一定的時間完成某些重要的任務。
應用程序可以聲明自身支持的某種服務需要獲得定期后臺執行時間。
應用程序可以使用本地通告在指定時間向用戶發通知。這種方式對于應用程序是否運行沒有要求。
不管應用程序是被掛起還是在后臺運行,支持多任務不需要付出額外的工作。但是在某些情況(例如內存不足)下,應用程序可能會被結束運行。因此,應用程序應該可以在任何時候退出。這就意味著許多在退出應用程序時需要執行的任務必須改為在應用程序切換到后臺的時候執行。這就要求您在應用程序委托中實現一些新的方法以響應程序的狀態切換。
數據保護
和敏感用戶數據打交道的應用程序可以使用設備內建加密功能(有些設備可能不提供內建加密功能)對數據進行保護。如果應用程序指定某個文件受保護,系統會以加密格式將該文件保存在磁盤。當設備鎖住的時候,您的應用程序以及其他潛在的闖入者都不能訪問該文件,而當用戶解鎖設備后,系統會生成一份密鑰以便您的應用程序就訪問該文件。
如需實現數據保護,應用程序應在待保護數據的創建和管理方式下一些功夫。它必須能夠在數據創建之時保證其安全,而且需要適配設備上鎖或未上鎖造成的文件可訪問性的變化。
蘋果推送通知服務
從設計角度看,讓應用程序支持推送通知包含兩個部分。首先,iOS應用程序需要請求系統向其發送通知,然后要合理配置應用程序委托使其可以對通知進行恰當處理。這些工作可以通過應用程序委托以及UIApplication對象合作完成。第二,您需要提供一個服務器端進程用于產生最初的通知。該進程運行在您自己的本地服務器,它和蘋果推送通知服務協同工作以產生最初的通知。
本地通知
iOS 4.0引入了本地通知。本地通知是對已有推送通知的補充,通用程序可以通過它在本地生成通知,不再需要依賴外部服務器。當有重要的事件發生時,后臺應用程序可以利用本地通知獲得用戶關注。舉個例子,運行于后臺的導航應用程序可以使用本地通知提醒用戶要轉彎。應用程序也可以安排在未來的某個時刻向用戶發送本地通知,而且發送這些通知并不要求應用程序處于運行狀態。
本地通知的優點是它獨立于您的應用程序。一旦某個通知被安排好后,系統會負責通知發送。而且在發送通知的時候,您的應用程序無需處于運行狀態
手勢識別器
iOS 3.2引入了手勢識別器。手勢識別器是一個綁定到視圖的對象,用于檢測常見的手勢類型。將手勢識別器綁定到視圖后,您可以告訴它某個手勢發生的時候執行何種動作。之后,手勢識別器就可以對原始事件進行跟蹤,根據系統定義的試探方式識別手勢。在引入手勢識別器前,如果要識別一個手勢,您需要跟蹤視圖的原始觸摸事件流,然后再使用復雜的試探方法來判斷這些事件是否表示某種手勢。
現在,UIKit框架中包含一個UIGestureRecognizer 類,它定義了所有手勢識別器的基本行為。您可以使用自定義的手勢識別器子類或者系統定義的某個子類處理下面這些標準手勢:
拍擊 (任意次數的拍擊)
向里或向外捏 (用于縮放)
搖動或者拖拽
擦碰 (以任意方向)
旋轉 (手指朝相反方向移動)
長按
如需進一步了解您可以使用的手勢識別器
文件共享支持
應用程序可以使用文件共享讓用戶訪問程序的用戶數據文件。文件共享允許應用程序通過iTunes向用戶顯露應用程序/Documents目錄的內容。這樣,用戶就可以在iPad和桌面計算機來回移動文件。但是,該功能不允許應用程序和同一設備上的其他應用程序共享文件。如果希望在程序間共享文件,請使用剪貼板或者文檔交互控制器對象。
您可以通過如下步驟來讓應用程序支持文件共享:
在應用程序的Info.plist文件中添加UIFileSharingEnabled鍵,并將鍵值設置為YES。
將您希望共享的文件放在應用程序的Documents目錄。
一旦設備插入到用戶計算機,iTunes 9.1就會在選中設備的Apps標簽中顯示一個File Sharing區域。
此后,用戶就可以向該目錄添加文件或者將文件移動到桌面計算機中。
如果應用程序支持文件共享,當文件添加到Documents目錄后,應用程序應該能夠識別并做出適當響應。例如說,應用程序可以將新文件的內容顯示界面上。請不要向用戶展現目錄的文件列表并詢問他們希望對文件執行什么操作。
點對點服務
在iOS 3.0 及后續版本,Game Kit框架支持經由藍牙進行點對點連接。您可以使用點對點連接啟動與某個鄰近設備的通訊會話,也可用它實現多種多玩家游戲的常見特性。雖然點對點連接主要應用于游戲,但您也可將之應用于其他類型應用程序。
標準系統視圖控制器
Cocoa Touch層許多框架含有展現標準系統界面的視圖控制器。我們提倡您在應用程序中使用這些視圖控制器,這樣可以讓您的程序和系統具有一致的用戶體驗。如果您需要執行下述任務,請從相應的框架中選擇一個視圖控制器使用:
顯示或者編輯聯系人信息 - 請使用Address Book UI框架中的視圖控制器。
創建或者編輯日歷事件 - 請使用Event Kit UI框架的視圖控制器。












評論