出版時(shí)間:2010-1 出版社:人民郵電出版社 作者:?jiǎn)碳{森 頁數(shù):351
Tag標(biāo)簽:無
前言
參與iPhone破解開發(fā)社區(qū)這么久以來,我常常被問到一個(gè)問題,那就是:你覺得iPhoneSDK到底怎么樣。對(duì)于購買了本書的讀者,我需要花點(diǎn)工夫給出答案。簡(jiǎn)而言之,蘋果公司的iPhone SDK帶來了一些非常棒的高層功能,厘清了一種可怕的混亂局面。然而,深深埋藏在SDK怡人外表之下的,卻是一組無序的、設(shè)計(jì)低劣的框架,但是這些低劣之物中的某些成員卻又非常適用于一些SDK所不適合的領(lǐng)域。無疑,對(duì)于想要針對(duì)AppStore進(jìn)行開發(fā)的人而言,依靠SDK已經(jīng)足可以編寫出質(zhì)量?jī)?yōu)秀、功能強(qiáng)大的應(yīng)用程序(若非如此,我也不會(huì)寫這本書)。對(duì)于大多數(shù)希望開發(fā)出不錯(cuò)的軟件的開發(fā)者來說,SDK所提供的接口已經(jīng)足夠了,不過大多數(shù)人并不清楚他們到底錯(cuò)過了哪些功能。而對(duì)那些在開源世界里成長(zhǎng)起來的人來說,iPhone的SDK不過是滄海一粟。你現(xiàn)在可以了解到,開發(fā)者接口有兩組:SDK提供的,以及蘋果公司自己使用的。盡管這二者之間有一定重疊,但是在我的另外一本書iPhone Open Application Development中介紹的許多類與框架,都會(huì)是你聞所未聞的。你對(duì)它們聞所未聞,是因?yàn)樗鼈儾⒉淮嬖谟赟DK當(dāng)中。我們iPhone破解開發(fā)社區(qū)中的許多人通過直接破解iPhone的操作系統(tǒng)而發(fā)現(xiàn)了它們。我們經(jīng)過日以周計(jì)的工作,導(dǎo)出類與符號(hào)表,不斷進(jìn)行出錯(cuò)查錯(cuò)的試驗(yàn),最終拼湊出了iPhone用戶界面包以及其他許多框架的“基因圖譜”,其中包括許多現(xiàn)在仍然處于保密狀態(tài)的接口。通過開源工具鏈構(gòu)建iPhone軟件的開發(fā)者,使用的正是這些底層API。我們發(fā)現(xiàn),蘋果公司的許多應(yīng)用程序也同樣正是利用了這些底層API,從而可以做到一些SDK根本不允許的行為。
內(nèi)容概要
本書全面概括了使用蘋果公司官方SDK為iPhone/iPod Touch開發(fā)應(yīng)用程序的方方面面,包括開發(fā)工具、編程語言和各種框架庫。書中全方位覆蓋了iPhone編程,包括UIKit、多點(diǎn)觸摸、Quartz Core、音頻、視頻、地理定位、地址簿、網(wǎng)絡(luò)編程等內(nèi)容,詳細(xì)介紹了UIKit組件,并配以實(shí)用的例子,簡(jiǎn)要介紹了Objective-C,重點(diǎn)講解其與C/C++的異同之處,并介紹了幾種Objective-C特有的語法概念。本書還專門介紹如何自行編碼實(shí)現(xiàn)專用高級(jí)特效:CoverFlow和Flip Page?! ”緯m合具有一定編程經(jīng)驗(yàn)同時(shí)又希望進(jìn)行iPhone開發(fā)的程序員閱讀。書中的各種提示和技巧無論對(duì)iPhone開發(fā)的新手和資深程序員都大有裨益,本書還可以作為iPhone SDK開發(fā)的參考手冊(cè),在需要時(shí)快速查找特定組件的相關(guān)內(nèi)容。
作者簡(jiǎn)介
Jonathan Zdziarski是全職進(jìn)行研究的科學(xué)家,同時(shí)也是資深的移動(dòng)設(shè)備黑客,在破解iPhone環(huán)境以便進(jìn)行第三方軟件開發(fā)的過程中扮演了重要角色。他是O’Reilly的iPhone Open Application Development和iPhone Forensics兩書的作者。
書籍目錄
第1章 iPhone SDK初探 1.1 應(yīng)用程序剖析 1.1.1 Xcode揭密 1.2 安裝iPhone SDK 1.2.1 開發(fā)所需資源 1.2.2 iPhone模擬器 1.2.3 下載并安裝iPhone SDK 1.3 配備iPhone 1.4 構(gòu)建并安裝應(yīng)用程序 1.4.1 模型-視圖-控制器 1.4.2 應(yīng)用程序模板 1.4.3 Xcode項(xiàng)目布局 1.4.4 原型 1.4.5 添加框架 1.4.6 設(shè)置活躍SDK 1.4.7 構(gòu)建應(yīng)用程序 1.4.8 安裝應(yīng)用程序 1.5 轉(zhuǎn)換到Objective-C 1.5.1 消息機(jī)制 1.5.2 類和方法的聲明 1.5.3 實(shí)現(xiàn) 1.5.4 屬性 1.5.5 協(xié)議 1.5.6 類別 1.5.7 替位 1.5.8 其他資源 第2章 Interface Builder:Xcode中制作GUI的GUI 2.1 窗口、視圖和視圖控制器 2.2 現(xiàn)有模板 2.3 新建模板 2.4 用戶界面元素 2.4.1 控制器 2.4.2 數(shù)據(jù)視圖 2.4.3 輸入和數(shù)據(jù) 2.4.4 窗口、視圖和欄 2.5 查看器 2.6 設(shè)計(jì)UI 2.6.1 窗口 2.6.2 視圖控制器 2.6.3 視圖 2.6.4 創(chuàng)建視圖間聯(lián)系 2.6.5 在代碼中添加聯(lián)系 2.7 從項(xiàng)目中移除Interface Builder 第3章 介紹UI Kit 3.1 基本用戶界面元素 3.2 窗口和視圖 3.2.1 創(chuàng)建窗口和視圖 3.2.2 顯示視圖 3.2.3 史上最無用的應(yīng)用程序:HelloView 3.2.4 行為解釋 3.2.5 從UIView派生 3.2.6 傳統(tǒng)廢柴程序:HelloWorld 3.2.7 行為解釋 3.3 視圖控制器 3.3.1 創(chuàng)建視圖控制器 3.3.2 從Interface Builder載入視圖 3.3.3 方向變換 3.3.4 棄置視圖控制器 3.3.5 使用視圖控制器的Hello World:ControllerDemo 3.3.6 行為解釋 3.3.7 進(jìn)一步學(xué)習(xí) 3.4 文本視圖 3.4.1 創(chuàng)建文本視圖 3.4.2 賦予內(nèi)容 3.4.3 顯示HTML 3.4.4 網(wǎng)頁源碼閱讀器:SourceReader 3.4.5 行為解釋 3.4.6 進(jìn)一步學(xué)習(xí) 3.5 導(dǎo)航欄與控制器 3.5.1 創(chuàng)建導(dǎo)航控制器 3.5.2 導(dǎo)航控制器屬性 3.5.3 添加分段控件 3.5.4 添加工具欄 3.5.5 分頁導(dǎo)航練習(xí):PageDemo 3.5.6 行為解釋 3.5.7 進(jìn)一步學(xué)習(xí) 3.6 轉(zhuǎn)場(chǎng)動(dòng)畫 3.6.1 創(chuàng)建轉(zhuǎn)場(chǎng) 3.6.2 附加轉(zhuǎn)場(chǎng) 3.6.3 翻頁轉(zhuǎn)場(chǎng):FlipDemo 3.6.4 行為解釋 3.6.5 進(jìn)一步學(xué)習(xí) 3.7 操作表單與警報(bào) 3.7.1 警報(bào) 3.7.2 操作表單 3.7.3 解除操作表單 3.7.4 世界末日(待批準(zhǔn)):EndWorld 3.7.5 行為解釋 3.7.6 進(jìn)一步學(xué)習(xí) 3.8 表格視圖與控制器 3.8.1 創(chuàng)建表格 3.8.2 表格單元 3.8.3 實(shí)現(xiàn)多選 3.8.4 編輯與掃動(dòng)刪除 3.8.5 重新載入表格 3.8.6 簡(jiǎn)單的文件瀏覽器:TableDemo 3.8.7 行為解釋 3.8.8 進(jìn)一步學(xué)習(xí) 3.9 操縱狀態(tài)欄 3.9.1 隱藏狀態(tài)欄 3.9.2 狀態(tài)欄風(fēng)格 3.9.3 狀態(tài)欄方向 3.10 應(yīng)用程序徽章 3.10.1 顯示應(yīng)用程序徽章 3.10.2 移除應(yīng)用程序徽章 3.10.3 進(jìn)一步學(xué)習(xí) 3.11 應(yīng)用程序服務(wù) 3.11.1 掛起與復(fù)原 3.11.2 程序終止 3.12 調(diào)用Safari 3.13 發(fā)起電話呼叫 第4章 多點(diǎn)觸摸事件與界面幾何 4.1 界面幾何結(jié)構(gòu)體介紹 4.1.1 CGPoint 4.1.2 CGSize 4.1.3 CGRect 4.2 處理多點(diǎn)觸摸事件 4.2.1 UITouch通知 4.2.2 UIEvent 4.2.3 事件處理 4.2.4 例子:點(diǎn)觸計(jì)數(shù)器 4.2.5 例子:?jiǎn)螕舨⑼弦贰 ?.2.6 處理多點(diǎn)觸摸 4.2.7 捏合檢測(cè):PinchMe 4.2.8 Tracking多點(diǎn)觸摸圖標(biāo)跟蹤:TouchDemo 4.2.9 行為解釋 4.2.10 進(jìn)一步學(xué)習(xí) 第5章 Quartz Core圖層編程 5.1 了解圖層 5.1.1 圖層層次結(jié)構(gòu) 5.1.2 尺寸與位置 5.1.3 排布與顯示 5.1.4 繪制 5.1.5 變換 5.1.6 圖層動(dòng)畫 5.1.7 圖層變換 5.1.8 玩轉(zhuǎn)圖層:BounceDemo 5.1.9 行為解釋 5.1.10 進(jìn)一步學(xué)習(xí) 第6章 喧囂:Audio Toolbox和 AVFoundation 6.1 AVFoundation框架 6.1.1 音頻播放器 6.1.2 播放器屬性 6.1.3 播放聲音 6.1.4 代理方法 6.1.5 儀表計(jì)數(shù) 6.2 構(gòu)建一個(gè)VU表:AVMeter 6.2.1 行為解釋 6.2.2 進(jìn)一步學(xué)習(xí) 6.3 音頻服務(wù) 6.3.1 行為解釋 6.4 音頻隊(duì)列 6.4.1 音頻隊(duì)列的結(jié)構(gòu) 6.4.2 供應(yīng)音頻輸出 6.4.3 音頻緩沖區(qū) 6.4.4 回調(diào)函數(shù) 6.4.5 音量控制 6.4.6 例子:PCM播放器 6.4.7 行為解釋 6.4.8 進(jìn)一步學(xué)習(xí) 6.5 錄音 6.5.1 音頻隊(duì)列結(jié)構(gòu)體 6.5.2 供應(yīng)音頻輸入 6.5.3 音頻緩沖區(qū) 6.5.4 回調(diào)函數(shù) 6.5.5 訪問原始數(shù)據(jù) 6.5.6 寫入文件 6.5.7 例子:錄音機(jī) 6.5.8 行為解釋 6.5.9 進(jìn)一步學(xué)習(xí) 6.6 振動(dòng) 第7章 CFNetwork網(wǎng)絡(luò)編程 7.1 套接字編程基礎(chǔ) 7.1.1 套接字類型 7.1.2 CFSocket 7.1.3 CFSocketContext 7.1.4 套接字流 7.1.5 CFSocket例子:笑話服務(wù)器 7.1.6 進(jìn)一步學(xué)習(xí) 7.2 CFHTTP與CFFTP 7.2.1 CFHTTP 7.2.2 CFFTP 7.2.3 進(jìn)一步學(xué)習(xí) 第8章 定位:Core Location 8.1 Core Location管理器 8.1.1 查詢參數(shù) 8.1.2 提交查詢 8.1.3 接收更新 8.1.4 完成查詢 8.1.5 錯(cuò)誤處理 8.1.6 土話Core Location:WhereYouAt 8.1.7 行為解釋 8.1.8 進(jìn)一步學(xué)習(xí) 第9章 地址簿框架 9.1 訪問地址簿 9.1.1 高層地址簿函數(shù) 9.1.2 查詢地址簿 9.1.3 創(chuàng)建記錄 9.1.4 操縱記錄 9.1.5 多值屬性 9.1.6 使用字典 9.1.7 圖像數(shù)據(jù) 9.1.8 進(jìn)一步學(xué)習(xí) 9.2 地址簿界面 9.2.1 聯(lián)系人視圖 9.2.2 聯(lián)系人選取器 9.2.3 進(jìn)一步學(xué)習(xí) 第10章 UI Kit進(jìn)階設(shè)計(jì) 10.1 通用控件 10.1.1 基類UIControl 10.1.2 分段控件 10.1.3 開關(guān) 10.1.4 滑塊 10.1.5 文本字段控件 10.1.6 按鈕 10.1.7 分頁控件 10.1.8 進(jìn)一步學(xué)習(xí) 10.2 偏好設(shè)置表格 10.2.1 創(chuàng)建偏好設(shè)置表格 10.2.2 顯示偏好設(shè)置表格 10.2.3 偏好設(shè)置表格的例子:ShootStuffUp 10.2.4 行為解釋 10.2.5 進(jìn)一步學(xué)習(xí) 10.3 分段列表 10.3.1 創(chuàng)建分段列表 10.3.2 添加索引條 10.3.3 顯示分段列表 10.3.4 一個(gè)更好的文件瀏覽器:TableDemo 10.3.5 行為解釋 10.3.6 進(jìn)一步學(xué)習(xí) 10.4 進(jìn)度與活動(dòng)指示器 10.4.1 小小轉(zhuǎn)子:UIActivityIndicatorView 10.4.2 嫌轉(zhuǎn)子俗就用UIProgressView 10.4.3 網(wǎng)絡(luò)活動(dòng)指示器 10.4.4 進(jìn)一步學(xué)習(xí) 10.5 圖像 10.5.1 圖像對(duì)象 10.5.2 玩轉(zhuǎn)圖像和圖案:ImageFun 10.5.3 圖像視圖:UIImageView 10.5.4 圖像選取器 10.6 鍵盤屬性 10.6.1 鍵盤風(fēng)格 10.6.2 鍵盤外觀 10.6.3 回車鍵 10.6.4 自動(dòng)大寫 10.6.5 自動(dòng)更正 10.6.6 安全文本輸入 10.7 選取器 10.7.1 創(chuàng)建選取器 10.7.2 顯示選取器 10.7.3 讀取選取器 10.7.4 挑選你的鼻子:NosePicker 10.7.5 行為解釋 10.7.6 進(jìn)一步學(xué)習(xí) 10.8 時(shí)間/日期選取器 10.8.1 創(chuàng)建時(shí)間/日期選取器 10.8.2 顯示日期選取器 10.8.3 讀取日期 10.8.4 選取獨(dú)立日:DatePicker 10.8.5 行為解釋 10.8.6 進(jìn)一步學(xué)習(xí) 10.9 標(biāo)簽欄 10.9.1 標(biāo)簽欄控制器 10.9.2 構(gòu)建一個(gè)標(biāo)簽欄控制器 10.9.3 可定制按鈕 10.9.4 導(dǎo)航 10.9.5 代理的動(dòng)作 10.9.6 又一個(gè)教科書式的例子:TabDemo 10.9.7 行為解釋 10.9.8 進(jìn)一步學(xué)習(xí) 10.10 感應(yīng)器與設(shè)備信息 10.10.1 讀取設(shè)備方向 10.10.2 讀取設(shè)備信息 10.10.3 讀取加速計(jì) 10.10.4 近距離感應(yīng)器 10.10.5 進(jìn)一步學(xué)習(xí) 10.11 滾動(dòng)視圖 10.11.1 創(chuàng)建滾動(dòng)視圖 10.11.2 屬性 10.11.3 代理方法 10.11.4 滾動(dòng)中的氣象地圖:BigImage 10.11.5 行為解釋 10.11.6 進(jìn)一步學(xué)習(xí) 10.12 網(wǎng)頁視圖 10.12.1 創(chuàng)建網(wǎng)頁視圖 10.12.2 顯示網(wǎng)頁視圖 10.12.3 加載內(nèi)容 10.12.4 導(dǎo)航 10.12.5 代理方法 10.12.6 Google搜索工具:WebDemo 10.12.7 行為解釋 10.12.8 進(jìn)一步學(xué)習(xí) 第11章 應(yīng)用程序設(shè)定 11.1 字典和屬性列表 11.1.1 創(chuàng)建字典 11.1.2 管理關(guān)鍵字 11.1.3 寫入屬性列表 11.1.4 讀取屬性列表 11.1.5 進(jìn)一步學(xué)習(xí) 11.2 偏好設(shè)置束 11.2.1 添加關(guān)鍵字 11.2.2 讀取偏好設(shè)置束的值 11.2.3 進(jìn)一步學(xué)習(xí) 第12章 Cover Flow 12.1 用SDK編寫Cover Flow:CovertFlow 12.1.1 行為解釋 12.1.2 進(jìn)一步學(xué)習(xí) 第13章 頁面翻轉(zhuǎn) 13.1 頁面翻轉(zhuǎn)的例子:PageControl 13.1.1 行為解釋 13.1.2 進(jìn)一步學(xué)習(xí) 13.2 用于多個(gè)視圖的PageScrollView 13.2.1 行為解釋 第14章 媒體播放器框架 14.1 電影播放器控件 14.1.1 屬性 14.1.2 開始和停止播放電影 14.1.3 通知 14.1.4 進(jìn)一步學(xué)習(xí)
章節(jié)摘錄
插圖:如果你是Macintosh世界的新手,也許會(huì)驚奇地發(fā)現(xiàn)應(yīng)用程序并不是.exe文件的形式。蘋果公司的卓越設(shè)計(jì)著稱于世,不僅體現(xiàn)在硬件和圖形方面,也同樣延伸到了軟件架構(gòu)的領(lǐng)域,其中就包括應(yīng)用程序在文件系統(tǒng)上的組織方式。這種應(yīng)用于蘋果桌面系統(tǒng)中的策略,也被原樣引入到了iPhone系統(tǒng)中。蘋果采取的策略,就是創(chuàng)建一種模塊化、自包含的應(yīng)用程序,這種應(yīng)用程序僅由其自身內(nèi)部的文件資源構(gòu)成。因此,安裝應(yīng)用程序非常容易,將其拖曳到應(yīng)用程序文件夾即可;刪除應(yīng)用程序同樣輕松,將其拖曳到廢紙簍即可。在本章中,我們將研究iPhone應(yīng)用程序的結(jié)構(gòu)、運(yùn)行iPhone SDK、探索蘋果公司的Xcode IDE,并學(xué)習(xí)如何在iPhone上安裝應(yīng)用程序。最后,我們將介紹Objective-C語言及其特質(zhì),以便能從C和C++語言輕松過渡。1.1 應(yīng)用程序剖析蘋果公司想出了一種優(yōu)雅的方式來在操作系統(tǒng)中存放應(yīng)用程序。由于OS x是基于UNIX的平臺(tái),因此蘋果公司希望它能符合基本的UNIX文件約定,所以古舊的資源分支方案就不敷使用了(就這一點(diǎn)來說,也不夠高效)。挑戰(zhàn)是:要設(shè)計(jì)一種結(jié)構(gòu),既能讓一個(gè)應(yīng)用程序仍然可以自包含,同時(shí)在那些不想用專有的權(quán)宜之計(jì)來破壞自己架構(gòu)的文件系統(tǒng)上也可以使用。解決方案來自于Mac OS x的前身,也就是名為NeXT的系統(tǒng),它將應(yīng)用程序視為一個(gè)目錄(directory)所構(gòu)成的束(bundle)。束這個(gè)概念引入了一種方法,可以聚合應(yīng)用程序資源、二進(jìn)制文件和其他相關(guān)文件。
編輯推薦
《AppStore掘金:iPhone SDK應(yīng)用程序開發(fā)》提供了極其實(shí)用的知識(shí)與代碼,教你使用蘋果公司的SDK為iPhone和iPod Touch創(chuàng)建移動(dòng)應(yīng)用程序和游戲?!禔ppStore掘金:iPhone SDK應(yīng)用程序開發(fā)》通過大量的例子介紹了這一開發(fā)模式及其所使用的Objective-C語言,同時(shí)也將帶你領(lǐng)略設(shè)計(jì)功能全面的應(yīng)用程序所必需的各種SDK框架?!禔ppStore掘金:iPhone SDK應(yīng)用程序開發(fā)》將助你完成下列功能:使用Interface Builder和UI Kit框架設(shè)計(jì)用戶界面元素;創(chuàng)建應(yīng)用程序控件,如窗口和導(dǎo)航欄等;使用Core Graphics和Quartz Core創(chuàng)建并且管理圖層和圖像變換;通過AVFoundation對(duì)聲音文件進(jìn)行混音并播放,使用Audio Toolbox錄制并回放數(shù)字音頻流;使用CFNetwork框架進(jìn)行網(wǎng)絡(luò)編程;用Core Location框架操作iPhone的GPS;在應(yīng)用程序中加入視頻播放器。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載