出版時(shí)間:2011-3 出版社:人民郵電出版社 作者:Brandon Trebitowski,Christopher Allen,Shannon Appelcline 頁數(shù):327 譯者:張波,陳寶國,高偉
Tag標(biāo)簽:無
前言
開始編寫《iPhone開發(fā)實(shí)戰(zhàn)》修訂版的時(shí)候,Shannon和Christopher手頭上正好還有其他項(xiàng)目。于是Manning出版社決定另尋一名作者來完成所需的更新。最后,他們在Twitter上發(fā)現(xiàn)了我?! ∵€在上高三的時(shí)候,我就已經(jīng)開始學(xué)習(xí)編程,并花費(fèi)大量時(shí)間編寫Web應(yīng)用程序和一些冒傻氣的Java游戲。高中畢業(yè)后,我進(jìn)入新墨西哥大學(xué),并在那里獲得了計(jì)算機(jī)科學(xué)理學(xué)學(xué)士學(xué)位?! ‘?dāng)蘋果公司推出最初的iPhone時(shí),我非常渴望擁有一臺(tái)。但直到蘋果公司將iPhone 3G投入市場,我才攢夠錢圓了自己的奢望。為了給iPhone編寫軟件,我開始學(xué)習(xí)相關(guān)技術(shù),并創(chuàng)建了一個(gè)后來大受歡迎的博客iCodeBlog.com,那時(shí)候,我還買不起iPhone。因?yàn)榇髮W(xué)時(shí)已經(jīng)習(xí)慣了閱讀Java文檔,所以我能從蘋果公司的API文檔中學(xué)到很多東西。 接手撰寫本書的任務(wù)后,我很快意識(shí)到上一版中的不少章都應(yīng)該刪掉。盡管Web應(yīng)用是iPhone應(yīng)用發(fā)展前期一個(gè)極為重要的組成部分,但它們現(xiàn)在已經(jīng)無法與本機(jī)應(yīng)用程序抗衡了。因此,我刪除了上一版中有關(guān)Web開發(fā)的那些章,添加了與最新的iPhone SDK特性有關(guān)的新內(nèi)容。 剛完成此書時(shí),蘋果公司發(fā)布了其最新設(shè)備——iPad。于是Manning出版社和我必須作出選擇:要么在現(xiàn)有書稿基礎(chǔ)上再奮斗幾個(gè)月的時(shí)間,要么出版一本剛上架就過時(shí)的書。幸好我們選擇了前者。 ——Brandon Trebitowski
內(nèi)容概要
本書旨在以教程的形式講解如何使用本地iPhone
SDK進(jìn)行iPhone/iPad開發(fā)。首先介紹了Objective-C、Xcode、Interface
Builder、視圖控制器、標(biāo)準(zhǔn)事件和動(dòng)作模型等基礎(chǔ)知識(shí),接著介紹了一些數(shù)據(jù)訪問方法與出色的硬件功能(加速計(jì)、GPS和羅盤),然后討論了媒體、音頻、圖形、互聯(lián)網(wǎng)等主題,最后通過實(shí)例展示了如何使用Game
Kit框架、推送通知、Map Kit框架和Store Kit框架等。
本書適合所有iPhone和iPad開發(fā)人員閱讀。
作者簡介
作者:(美國)特里比托斯基(Brandon Trebitowski) (美國)艾倫(Christopher Allen) (美國)阿佩爾克萊因(Shannon Appelcline) 譯者:張波 陳寶國 高偉Brandon Trebitowski,知名移動(dòng)開發(fā)社區(qū)CodeBIog.corn的創(chuàng)始人。曾在英特爾公司工作過?,F(xiàn)為ELC技術(shù)公司資深技術(shù)人員。Christopher Allen,著名iPhone開發(fā)技術(shù)專家。最大的iPhone Web開發(fā)杜區(qū)iphonewebdev.com的創(chuàng)辦者。iPhoneDevCamp技術(shù)大會(huì)的創(chuàng)辦人和組織者。他還是下一代SStL協(xié)議TLS的主要開發(fā)者。Shannon Appelcline,iPhone技術(shù)顧問。他也是資深的游戲開發(fā)者。著名在線游戲Skotos的運(yùn)營總監(jiān)。
書籍目錄
第1章 iPhone與iPad簡介
1.1 歷史回顧
1.2 人人為我,我為人人:iPhone OS平臺(tái)
1.3 核心硬件規(guī)范
1.3.1 iPhone
1.3.2 iPad
1.3.3 iPod Touch
1.3.4 iPhone和iPad的輸入及輸出規(guī)范
1.3.5 iPhone和iPad網(wǎng)絡(luò)規(guī)范
1.3.6 iPhone OS瀏覽器規(guī)范
1.3.7 移動(dòng)Web標(biāo)準(zhǔn)
1.3.8 其他硬件特性
1.4 iPhone和iPad的獨(dú)特之處
1.5 理解iPhone和iPad觸摸式交互
1.6 小結(jié)
第2章 Objective-C和iPhone OS SDK
2.1 準(zhǔn)備使用SDK
2.1.1 安裝SDK
2.1.2 SDK剖析
2.2 Objective-C介紹
2.2.1 概述
2.2.2 消息
2.2.3 類定義
2.2.4 屬性
2.2.5 其他編譯器指令
2.2.6 類別和協(xié)議
2.2.7 Objective-C總結(jié)
2.3 iPhone OS介紹
2.3.1 iPhone OS剖析
2.3.2 iPhone OS的對(duì)象層次結(jié)構(gòu)
2.3.3 窗口和視圖
2.4 iPhone OS的方法
2.4.1 對(duì)象創(chuàng)建
2.4.2 內(nèi)存管理
2.4.3 事件響應(yīng)
2.4.4 生命周期管理
2.5 小結(jié)
第3章 使用Xcode
3.1 Xcode簡介
3.1.1 剖析Xcode
3.1.2 在Xcode中編譯和執(zhí)行
3.2 在Xcode中創(chuàng)建第一個(gè)iPhone項(xiàng)目:Hello, World!
3.2.1 理解main.m
3.2.2 理解應(yīng)用程序委托
3.2.3 編寫“Hello, World!”
3.3 在Xcode中創(chuàng)建第一個(gè)iPad項(xiàng)目:Hello, World!
3.4 在Xcode中創(chuàng)新建類
3.4.1 新類簡介
3.4.2 頭文件
3.4.3 源代碼文件
3.4.4 鏈接
3.5 Xcode的其他功能
3.5.1 使用Xcode添加框架
3.5.2 在Xcode中使用其他模板
3.5.3 Xcode提示和技巧
3.6 小結(jié)
第4章 使用Interface Builder
4.1 Interface Builder介紹
4.1.1 Interface Builder剖析
4.1.2 在Interface Builder中模擬
4.2 在Interface Builder中創(chuàng)建第一個(gè)項(xiàng)目:圖片和網(wǎng)頁
4.2.1 新建對(duì)象
4.2.2 操作圖形對(duì)象
4.2.3 使用檢查器窗口
4.2.4 使用圖片
4.3 在Interface Builder中建立連接
4.3.1 聲明IBOutlet
4.3.2 連接對(duì)象
4.3.3 使用IBOutlet編寫代碼
4.4 其他Interface Builder功能
4.4.1 建立其他連接
4.4.2 創(chuàng)建外部對(duì)象
4.4.3 初始化Interface Builder對(duì)象
4.4.4 訪問.xib文件
4.4.5 新建.xib文件
4.5 小結(jié)
第5章 創(chuàng)建基本視圖控制器
5.1 視圖控制器家族
5.2 標(biāo)準(zhǔn)視圖控制器
5.2.1 視圖控制器剖析
5.2.2 創(chuàng)建視圖控制器
5.2.3 創(chuàng)建另一個(gè)視圖控制器
5.2.4 構(gòu)建視圖控制器界面
5.2.5 使用視圖控制器
5.3 表視圖控制器
5.3.1 剖析表視圖控制器
5.3.2 創(chuàng)建表視圖控制器
5.3.3 構(gòu)建表界面
5.3.4 使用表視圖控制器
5.4 小結(jié)
第6章 監(jiān)控事件和動(dòng)作
6.1 事件簡介
6.1.1 響應(yīng)者鏈
6.1.2 觸摸和事件
6.2 觸摸的例子:事件報(bào)告程序
6.2.1 在Interface Builder中構(gòu)建應(yīng)用程序
6.2.2 為觸摸準(zhǔn)備視圖
6.2.3 控制事件
6.3 其他事件功能
6.3.1 規(guī)則化事件
6.3.2 其他事件方法和屬性
6.4 動(dòng)作簡介
6.4.1 UIControl對(duì)象
6.4.2 控件事件和動(dòng)作
6.4.3 使用addTarget:action:forControlEvents:方法
6.5 向應(yīng)用程序添加按鈕
6.5.1 使用addTarget:action:forControlEvents:與按鈕
6.5.2 使用IBAction與按鈕
6.6 其他動(dòng)作功能
6.6.1 使用UITextField接受文本輸入
6.6.2 允許使用UISlider來選擇值
6.6.3 TextField/Slider組合
6.6.4 創(chuàng)建動(dòng)作很容易
6.6.5 使用動(dòng)作
6.7 通知簡介
6.8 小結(jié)
第7章 創(chuàng)建高級(jí)視圖控制器
7.1 標(biāo)簽欄視圖控制器
7.1.1 剖析標(biāo)簽欄視圖控制器
7.1.2 創(chuàng)建標(biāo)簽欄控制器
7.1.3 構(gòu)建標(biāo)簽欄界面
7.1.4 使用標(biāo)簽欄控制器
7.2 導(dǎo)航控制器
7.2.1 剖析導(dǎo)航控制器
7.2.2 創(chuàng)建導(dǎo)航控制器
7.2.3 完成導(dǎo)航控制器
7.2.4 使用導(dǎo)航控制器
7.3 使用翻轉(zhuǎn)控制器
7.4 分割視圖控制器
7.4.1 創(chuàng)建分割視圖控制器
7.4.2 構(gòu)建分割視圖控制器
7.4.3 使用分割視圖控制器
7.4.4 為豎向模式和橫向模式調(diào)整界面
7.5 彈出式視圖控制器和模式視圖控制器
7.5.1 創(chuàng)建彈出式視圖控制器
7.5.2 創(chuàng)建模式視圖控制器
7.6 小結(jié)
第8章 數(shù)據(jù):動(dòng)作、首選項(xiàng)和文件
8.1 接收用戶動(dòng)作
8.2 管理用戶首選項(xiàng)
8.2.1 創(chuàng)建自己的首選項(xiàng)
8.2.2 使用系統(tǒng)設(shè)置
8.3 打開文件
8.3.1 訪問軟件包
8.3.2 訪問其他目錄
8.3.3 操縱文件
8.3.4 Filesaver:一個(gè)UITextView示例
8.4 小結(jié)
第9章 數(shù)據(jù):高級(jí)技術(shù)
9.1 使用SQLite
9.1.1 設(shè)置SQLite數(shù)據(jù)庫
9.1.2 訪問SQLite
9.1.3 訪問SQLite數(shù)據(jù)庫
9.1.4 通過數(shù)據(jù)庫構(gòu)建導(dǎo)航菜單
9.1.5 本例的擴(kuò)展
9.2 訪問地址簿
9.2.1 框架概述
9.2.2 訪問地址簿屬性
9.2.3 查詢地址簿
9.2.4 使用地址簿UI
9.3 Core Data簡介
9.3.1 關(guān)于Core Data的背景知識(shí)
9.3.2 在應(yīng)用程序中設(shè)置Core Data
9.3.3 初始化Core Data對(duì)象
9.3.4 為數(shù)據(jù)庫添加對(duì)象
9.3.5 在Core Data中提取、更新和刪除對(duì)象
9.4 小結(jié)
第10章 定位:加速計(jì)、位置和羅盤
10.1 加速計(jì)和方向
10.1.1 orientation屬性
10.1.2 方向通知
10.2 加速計(jì)和移動(dòng)
10.2.1 訪問UIAccelerometer
10.2.2 解析UIAcceleration
10.2.3 查看重力
10.2.4 查看移動(dòng)
10.2.5 識(shí)別簡單的加速計(jì)移動(dòng)
10.3 加速計(jì)和手勢
10.4 Core Location
10.4.1 位置類
10.4.2 使用位置和距離的示例
10.4.3 使用海拔的示例
10.4.4 使用羅盤
10.4.5 Core Location和互聯(lián)網(wǎng)
10.5 小結(jié)
第11章 媒體:圖像和照相機(jī)
11.1 圖像介紹
11.1.1 加載UIImage
11.1.2 繪制UIImageView
11.1.3 在UIKit中修改圖像
11.2 利用Core Graphics繪制簡單圖像
11.3 訪問照片
11.3.1 使用圖像選取器
11.3.2 拍照
11.3.3 保存到相冊
11.4 拼合:一個(gè)圖像例子
11.4.1 拼合視圖控制器
11.4.2 拼合臨時(shí)圖像視圖
11.4.3 拼合視圖
11.4.4 擴(kuò)展這個(gè)例子
11.5 小結(jié)
第12章 媒體:音頻和錄音
12.1 播放iPod庫中的音頻
12.1.1 從iPod媒體庫中檢索音頻條目
12.1.2 獲取MPMediaItem的信息
12.1.3 使用MPMusicPlayerController播放媒體條目
12.1.4 示例:創(chuàng)建一個(gè)簡單的媒體播放器應(yīng)用程序
12.2 錄制音頻
12.2.1 初始化音頻錄音器
12.2.2 控制音頻錄音器
12.2.3 響應(yīng)AVAudioRecorder事件
12.3 手動(dòng)播放聲音
12.3.1 初始化AVAudio Player
12.3.2 AVAudioPlayer Delegate
12.3.3 控制AVAudioPlayer
12.4 示例:創(chuàng)建一個(gè)簡單的音頻錄制/播放應(yīng)用程序
12.4.1 創(chuàng)建一個(gè)基于視圖的應(yīng)用程序
12.4.2 添加所需的框架
12.4.3 構(gòu)建IBAction
12.4.4 創(chuàng)建界面
12.4.5 設(shè)置音頻錄音器并實(shí)現(xiàn)IBAction操作
12.5 錄制、播放和訪問視頻
12.6 小結(jié)
第13章 圖形:Quartz、Core Animation和OpenGL
13.1 Quartz 2D簡介
13.2 Quartz上下文
13.2.1 在UIView上繪制圖形
13.2.2 在位圖上繪制圖形
13.3 繪制路徑
13.3.1 結(jié)束路徑
13.3.2 創(chuàng)建可重用路徑
13.3.3 繪制矩形
13.4 設(shè)置圖形狀態(tài)
13.4.1 設(shè)置顏色
13.4.2 變換
13.4.3 設(shè)置裁剪路徑
13.4.4 其他設(shè)置
13.4.5 管理狀態(tài)
13.5 Quartz中的高級(jí)繪圖功能
13.5.1 繪制漸變
13.5.2 繪制圖像
13.5.3 繪制文字
13.5.4 未介紹的內(nèi)容
13.6 示例:在圖片上繪圖
13.6.1 PhotoDraw視圖控制器
13.6.2 photodraw視圖
13.6.3 擴(kuò)展示例
13.7 Core Animation簡介
13.7.1 Core Animation基礎(chǔ)
13.7.2 Core Animation入門
13.7.3 繪制簡單的隱式動(dòng)畫
13.7.4 繪制簡單的顯式動(dòng)畫
13.8 OpenGL簡介
13.9 小結(jié)
第14章 Web:Web視圖和互聯(lián)網(wǎng)協(xié)議
14.1 互聯(lián)網(wǎng)的層次結(jié)構(gòu)
14.2 低層次聯(lián)網(wǎng)
14.3 使用URL
14.3.1 創(chuàng)建NSURL
14.3.2 構(gòu)建NSURLRequest
14.3.3 手動(dòng)操作HTML數(shù)據(jù)
14.4 使用UIWebView
14.4.1 調(diào)用Web視圖
14.4.2 管理Web視圖委托
14.4.3 縮略圖:一個(gè)Web視圖例子
14.5 解析XML
14.5.1 啟動(dòng)NSXMLParser
14.5.2 充當(dāng)委托
14.5.3 構(gòu)建示例RSS閱讀器
14.5.4 海拔高度重讀:一個(gè)Core Location示例
14.6 提交給Web
14.6.1 手動(dòng)提交
14.6.2 提交表單
14.7 訪問社交網(wǎng)絡(luò)
14.7.1 使用Web協(xié)議
14.7.2 使用TouchJSON
14.8 小結(jié)
第15章 使用Game Kit進(jìn)行P2P連接
15.1 Game Kit概述
15.2 使用對(duì)等點(diǎn)選取器創(chuàng)建P2P應(yīng)用程序
15.2.1 使用蘋果公司的內(nèi)置對(duì)等點(diǎn)選取器
15.2.2 實(shí)現(xiàn)GKSession Delegate方法
15.2.3 在對(duì)等點(diǎn)之間發(fā)送和接收數(shù)據(jù)
15.3 示例:創(chuàng)建一個(gè)多人乒乓球游戲
15.3.1 啟動(dòng)GKTennis項(xiàng)目
15.3.2 創(chuàng)建頭文件
15.3.3 創(chuàng)建乒乓球游戲界面
15.3.4 游戲初始化
15.3.5 建立對(duì)等點(diǎn)選取器并進(jìn)行連接
15.3.6 實(shí)現(xiàn)send和receive方法
15.3.7 游戲循環(huán)
15.3.8 用戶交互
15.4 小結(jié)
第16章 推送通知服務(wù)
16.1 什么是推送通知
16.2 蘋果公司的推送通知系統(tǒng)概述
16.3 準(zhǔn)備在應(yīng)用程序中使用推送通知服務(wù)
16.3.1 設(shè)置應(yīng)用程序證書
16.3.2 建立供應(yīng)配置文件
16.3.3 處理推送通知的代碼
16.3.4 準(zhǔn)備音頻文件
16.4 使用PHP創(chuàng)建一個(gè)推送通知提供程序
16.4.1 創(chuàng)建SSL證書
16.4.2 實(shí)現(xiàn)PHP推送通知提供程序
16.5 小結(jié)
第17章 Map Kit框架
17.1 Map Kit概述
17.2 向應(yīng)用程序添加地圖
17.2.1 使用Interface Builder添加地圖
17.2.2 用編程方式添加地圖
17.2.3 控制地圖
17.3 翻譯地理編碼
17.4 標(biāo)注地圖
17.4.1 添加基本地圖標(biāo)注
17.4.2 添加自定義地圖標(biāo)注
17.5 小結(jié)
第18章 使用Store Kit實(shí)現(xiàn)應(yīng)用內(nèi)購買
18.1 建立沙盒測試環(huán)境
18.1.1 創(chuàng)建iTunes測試用戶
18.1.2 添加產(chǎn)品
18.2 創(chuàng)建一個(gè)簡單的商店界面
18.3 小結(jié)
第19章 iPhone SDK增強(qiáng)功能
19.1 自定義鍵盤附件
19.1.1 擴(kuò)展UITextField
19.1.2 實(shí)現(xiàn)自定義UIText Field
19.1.3 自定義鍵盤
19.2 繼續(xù):iPhone 4.0 SDK
19.2.1 多任務(wù)
19.2.2 用戶體驗(yàn)增強(qiáng)功能
19.2.3 多媒體框架增強(qiáng)功能
19.2.4 Game Center
19.3 小結(jié)
附錄A iPhone OS類參考
附錄B 外部資源和參考資料
附錄C 發(fā)布SDK程序
附錄D 針對(duì)iPad更新當(dāng)前應(yīng)用程序
章節(jié)摘錄
版權(quán)頁:插圖:毫無疑問,蘋果公司通過iPhone和liPad已經(jīng)完全改變了移動(dòng)計(jì)算的內(nèi)涵,幾乎完全拋開實(shí)際按鈕操作且造型優(yōu)美的觸摸屏界面改變了我們與移動(dòng)設(shè)備交互的方式。流暢優(yōu)美并且動(dòng)感十足的觸摸屏幾乎可以展示所有我們能夠想到的二維界面。僅此一項(xiàng),恐怕就足以讓前幾代智能手機(jī)和上網(wǎng)本沉悶而又多年不變的界面無地自容了。但蘋果公司很有預(yù)見性,很早的時(shí)候就將iPhone OS作為對(duì)(就像讀者這樣的)獨(dú)立開發(fā)者完全公開的平臺(tái),開發(fā)者可以利用iPhone OS快速開發(fā)出數(shù)千種應(yīng)用程序,讓客戶能夠定制和個(gè)性化其電話,將電話變成某種更優(yōu)秀、更實(shí)用的東西,而不僅僅是多了一些拙劣構(gòu)思、馬虎能用的附加應(yīng)用程序的設(shè)備。iPhone已經(jīng)成為可以隨身攜帶的一款個(gè)人電腦了。iPad更像是iPod 1buch的加大版,而不是沒有電話功能的更大、更壯實(shí)的iPhone。iPad:搶占了iPhone這種迷你掌機(jī)與更大尺寸的傳統(tǒng)筆記本之間的市場,同時(shí)還將目光瞄準(zhǔn)了最近興起的電子書閱讀器。
媒體關(guān)注與評(píng)論
“有關(guān)這些設(shè)備未來發(fā)展所需的內(nèi)容盡在本書!” ——Bemdt Hamboeck,pmOne“蘋果公司應(yīng)該將本書作為官方的iPhone和iPad開發(fā)圖書?!薄 狫ason Jung,Rockwell“沒有閱讀本書之前。不要啟動(dòng)Xcode?!薄 猅ed Neward,Neward&Associates
編輯推薦
《iPhone與iPad開發(fā)實(shí)戰(zhàn)》由業(yè)界知名專家聯(lián)合編寫。在更新已有iPhone應(yīng)用程序的同時(shí)增加了iPad方面的內(nèi)容。除了介紹iPhone/iPad開發(fā)的基礎(chǔ)知識(shí)之外。還討論了激動(dòng)人心的主題,如加速計(jì)、點(diǎn)對(duì)點(diǎn)游戲、Map Kjt框架、推送通知和應(yīng)用內(nèi)購買功能。通過《iPhone與iPad開發(fā)實(shí)戰(zhàn)》,讀者將學(xué)會(huì)如何將API整合到新應(yīng)用程序或者已有的應(yīng)用程序。讀完《iPhone與iPad開發(fā)實(shí)戰(zhàn)》,你將掌握創(chuàng)建功能完整的iPhone應(yīng)用程序所需了解的一切。另外,書中包含很多示例程序,如聊天客戶、視頻游戲、交互式地圖等。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
iPhone與iPad開發(fā)實(shí)戰(zhàn) PDF格式下載