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