iOS概述之開發前必看文檔
iOS是運行于iPhone、iPod touch以及 iPad設備的操作系統,它管理設備硬件并為手機本地應用程序的實現提供基礎技術。根據設備不同,操作系統具有不同的系統應用程序,例如Phone、Mail以及Safari,這些應用程序可以為用戶提供標準系統服務。
iPhone SDK包含開發、安裝及運行本地應用程序所需的工具和接口。本地應用程序使用iOS系統框架和Objective-C語言進行構建,并且直接運行于iOS設備。它與web應用程序不同,一是它位于所安裝的設備上,二是不管是否有網絡連接它都能運行。可以說本地應用程序和其他系統應用程序具有相同地位。本地應用程序和用戶數據都可以通過iTunes同步到用戶計算機。
iOS 架構
iOS架構和Mac OS的基礎架構相似。站在高級層次來看,iOS 扮演底層硬件和應用程序(顯示在屏幕上的應用程序)的中介,如圖 1-1所示。您創建的應用程序不能直接訪問硬件,而需要和系統接口進行交互。系統接口轉而又去和適當的驅動打交道。這樣的抽象可以防止您的應用程序改變底層硬件。
圖 1-1 應用程序位于iOS上層
請注意: 雖然應用程序通常會和底層硬件隔離, 但是應用程序代碼仍需考慮設備之間的某些差異。舉個例子,iPad和iPod touch不能打開包含電話號碼的URL但是iPhone則可以。
iOS實現可以看作是多個層的集合("Game Kit 框架"含有對這些層的介紹),底層為所有應用程序提供基礎服務,高層則包含一些復雜巧妙的服務和技術。
圖 1-2 iOS的層
在編寫代碼的時候,應該盡可能地使用高層框架,而不要使用底層框架。高層框架為底層構造提供面向對象的抽象。這些抽象可以減少需編寫的代碼行數,同時還對諸如socket和線程這些復雜功能進行封裝,從而讓編寫代碼變得更加容易。雖說高層框架是對底層構造進行抽象,但是它并沒有把底層技術屏蔽起來。如果高層框架沒有為底層框架的某些功能提供接口,開發者可以直接使用底層框架。
本文檔后續章節將對每一層所包含的技術和框架進行描述。
iPhone SDK 包含哪些東西?
在使用Intel芯片的Macintosh計算機開發iOS應用程序所需的全部接口、工具以及資源全都包含于iPhone SDK。
蘋果公司將大部分系統接口發布在框架這種特殊的數據包。一個框架就是一個目錄,它包含一個動態共享庫以及使用這個庫所需的資源(例如頭文件、圖像以及幫助應用程序等)。如果要使用某個框架,則需要將其鏈接到應用程序工程,這一點和使用其他共享庫相似。另外,您還需要告知開發工具何處可以找到框架頭文件以及其他資源。
除了使用框架,蘋果公司還通過標準共享庫的形式來發布某些技術。 由于iOS以UNIX為基礎,操作系統底層的許多技術都源自開源技術,這些技術的許多接口可以從標準庫和接口目錄訪問。
SDK中還包含下述重要組件:
Xcode工具 -提供iOS應用程序開發工具,包括如下關鍵應用程序:
Xcode -是一個集成開發環境,它負責管理應用程序工程。您可以通過它來編輯、編譯、運行以及調試代碼。Xcode還集成了許多其他工具,它是開發過程中使用到的主要應用程序。
Interface Builder -以可視化方式組裝用戶接口的工具。通過Interface Builder創建出來的接口對象將會保存到某種特定格式的資源文件,并且在運行時加載到應用程序。
Instruments - 運行時性能分析和調試工具。您可以通過 Instruments 收集應用程序運行時的行為信息,并利用這些信息來確認可能存在的問題。
iPhone模擬器 -是Mac OS X平臺應用程序,它對iOS技術棧進行模擬,以便于您可以在基于Intel的Macintosh計算機上測試iOS應用程序。
iOS參考庫- SDK默認包含iOS的參考文檔。另外,如果文檔庫有更新,則更新會被自動下載到本地。通過選擇Help > Developer Documentation就可以看到參考庫。
SDK提供編寫應用程序所需的軟件,而且Xcode和Instruments允許您直接與綁定設備進行交互,在目標硬件運行并調試代碼。如果您需要在實際設備上開發,請加入蘋果公司的收費iPhone開發者計劃,并將設備配置成開發用途。如需進一步了解iPhone開發者計劃,請訪問http://developer.apple.com/iphone/program/頁面。
如果您需要了解如何安裝iPhone SDK以及如何使用iPhone SDK開發iOS應用程序,則請參考iOS開發指南。如果進一步了解iOS的框架,并且希望了解何處可以找到底層的系統庫,則請參考“iOS框架”。
您可以在 iOS 創建什么應用程序?
用戶可以在設備上運行兩種不同類型的定制應用程序:Web應用程序和本地應用程序。Web應用程序將HTML、層疊樣式表以及JavaScript代碼結合在一起,以此來實現具有交互性的應用程序,這些應用程序存在于web服務器,通過網絡傳送到用戶設備上,并運行于Safari瀏覽器。而本地應用程序則是直接安裝在設備上,無需配備網絡連接就可以運行。
iPhone SDK僅能用于創建顯示于設備Home屏的本地應用程序,它不支持創建其他諸如驅動、框架、動態庫等類型的代碼。如果您希望將某個框架或者動態庫整合到應用程序,則應在鏈編工程的時候靜態地將其鏈接到應用程序執行文件。
如何使用參考庫?
iOS參考庫包含各種文檔、樣例代碼以及教程,這些材料可為編寫應用程序提供幫助。不過參考庫包含數千頁的文檔,上至起步介紹,下至API參考文檔盡皆涵蓋其中。因此,明白如何找到需要的信息是開發過程的重要步驟。參考庫使用幾種數種技術來組織內容,以使其更易于瀏覽。
您可以從蘋果開發者網站訪問iOS參考庫,也可以從Xcode訪問。 只要在Xcode中選擇 幫助>開發者文檔,就可以把XCode的文檔窗口顯示在屏幕上。此窗口是訪問iOS開發信息的核心,您可以在其中瀏覽文檔并執行搜索,還可以為稍后可能閱讀的文檔添加書簽。各個文檔早已按其內容進行歸類,這樣可為更新提供便利,也可以把搜索的范圍精確至相關的文檔。
在安裝 iPhone SDK的時候,Xcode 會自動為您安裝包含iOS參考庫的文檔集。(XCode也會自動為您下載文檔更新,不過您可以在偏好設置中取消此行為。)iOS參考庫包含非常多的信息。因而,對其排版設計稍作了解意義重大。圖 1-3顯示的是Xcode文檔窗口中參考庫的主。頁面頂部的工具欄包含搜索框和按鍵,可用于導航至其他已安裝的文檔集或是已創建的書簽。 您可以按主題、框架或者其他您正在查找的資源類型瀏覽文檔,也可以使用過濾器來控制文檔列表,減少顯示的文檔集。
圖 1-3 iOS參考庫
重要:iOS參考庫的內容有可能不是***的,您可以從iPhone開發中心(http://www.apple.com.cn/developer/iphone)訪問***的文檔、發布紀要、技術紀要、技術, 技術Q&A以及樣例代碼。所有的文檔都有HTML格式版本,大部分有PDF格式版本。
參考庫提供海量信息,在編寫代碼時翻查這些信息非常麻煩。為了幫助您快速找到某些特定信息,XCode為您提供如圖 1-4所示的Quick Help窗口。該窗口向您顯示和某個指定符號相關的信息,包括它的語法、描述以及可以使用該符號的SDK版本。另外,該窗口還顯示該符號的相關文檔以及樣例代碼。點擊窗口中的鏈接就可以進入到參考庫中相應的資源。如果希望顯示Quick Help窗口,請按住Option鍵然后再雙擊Xcode編輯窗口中的某個符號。
圖 1-4 Xcode中的Quick help窗口
小結:iOS概述之開發前必看文檔的內容介紹完了,希望本文對你有所幫助!