iPhone與iPad開發實戰/圖靈程式設計叢書

iPhone與iPad開發實戰/圖靈程式設計叢書

《iPhone與iPad開發實戰/圖靈程式設計叢書》是2011年人民郵電出版社出版的圖書,作者是Brandon Trebitowski、Christopher Allen、Shannon Appelcline,譯者是張波、陳寶國、高偉。

內容簡介

本書由業界知名專家聯合編寫,在更新已有iPhone應用程式的同時增加了iPad方面的內容。除了介紹iPhone/iPad開發的基礎知識之外,還討論了激動人心的主題,如加速計、點對點遊戲、Map Kit框架、推送通知和套用內購買功能。本書通過逐步指導教你如何將API整合到新應用程式或者已有的應用程式。

讀完本書,你將掌握創建功能完整的iPhone應用程式所需了解的一切。另外,書中包含很多示例程式,如聊天客戶、視頻遊戲、互動式地圖等。

媒體評論

“有關這些設備未來發展所需的內容盡在本書!”

——Berndt Hamboeck,pmOne

“蘋果公司應該將本書作為官方的iPhone和iPad開發圖書。”

——Jason Jung,Rockwell

“沒有閱讀本書之前,不要啟動Xcode。”

——Ted Neward,Neward & Associates

作者簡介

Brandon Trebitowski 知名移動開發社區iCodeBlog.com的創始人。曾在英特爾公司工作過,現為ELC技術公司資深技術人員。

Christopher Allen 著名iPhone開發技術專家,最大的iPhone Web開發社區iphonewebdev.com的創辦者,iPhoneDevCamp技術大會的創辦人和組織者。他還是下一代SSL協定TLS的主要開發者。

Shannon Appelcline iPhone技術顧問。他也是資深的遊戲開發者,著名線上遊戲Skotos的運營總監。

圖書目錄

第1章 iPhone與iPad簡介 1

1.1 歷史回顧 1

1.2 人人為我,我為人人:iPhone OS平台 2

1.3 核心硬體規範 2

1.3.1 iPhone 2

1.3.2 iPad 3

1.3.3 iPod Touch 4

1.3.4 iPhone和iPad的輸入及輸出規範 4

1.3.5 iPhone和iPad網路規範 5

1.3.6 iPhone OS瀏覽器規範 6

1.3.7 移動Web標準 7

1.3.8 其他硬體特性 7

1.4 iPhone和iPad的獨特之處 8

1.5 理解iPhone和iPad觸摸式互動 9

1.6 小結 10

第2章 Objective-C和iPhone OS SDK 11

2.1 準備使用SDK 11

2.1.1 安裝SDK 11

2.1.2 SDK剖析 13

2.2 Objective-C介紹 14

2.2.1 概述 14

2.2.2 訊息 15

2.2.3 類定義 17

2.2.4 屬性 18

2.2.5 其他編譯器指令 20

2.2.6 類別和協定 20

2.2.7 Objective-C總結 21

2.3 iPhone OS介紹 22

2.3.1 iPhone OS剖析 22

2.3.2 iPhone OS的對象層次結構 23

2.3.3 視窗和視圖 24

2.4 iPhone OS的方法 25

2.4.1 對象創建 25

2.4.2 記憶體管理 27

2.4.3 事件回響 28

2.4.4 生命周期管理 29

2.5 小結 30

第3章 使用Xcode 31

3.1 Xcode簡介 31

3.1.1 剖析Xcode 31

3.1.2 在Xcode中編譯和執行 33

3.2 在Xcode中創建第一個iPhone項目:Hello, World! 33

3.2.1 理解main.m 33

3.2.2 理解應用程式委託 34

3.2.3 編寫“Hello, World!” 36

3.3 在Xcode中創建第一個iPad項目:Hello, World! 38

3.4 在Xcode中創新建類 39

3.4.1 新類簡介 39

3.4.2 頭檔案 39

3.4.3 原始碼檔案 40

3.4.4 連結 42

3.5 Xcode的其他功能 42

3.5.1 使用Xcode添加框架 42

3.5.2 在Xcode中使用其他模板 42

3.5.3 Xcode提示和技巧 43

3.6 小結 44

第4章 使用Interface Builder 45

4.1 Interface Builder介紹 45

4.1.1 Interface Builder剖析 46

4.1.2 在Interface Builder中模擬 48

4.2 在Interface Builder中創建第一個項目:圖片和網頁 48

4.2.1 新建對象 48

4.2.2 操作圖形對象 49

4.2.3 使用檢查器視窗 49

4.2.4 使用圖片 51

4.3 在Interface Builder中建立連線 52

4.3.1 聲明IBOutlet 52

4.3.2 連線對象 53

4.3.3 使用IBOutlet編寫代碼 54

4.4 其他Interface Builder功能 55

4.4.1 建立其他連線 55

4.4.2 創建外部對象 55

4.4.3 初始化Interface Builder對象 56

4.4.4 訪問.xib檔案 56

4.4.5 新建.xib檔案 57

4.5 小結 57

第5章 創建基本視圖控制器 58

5.1 視圖控制器家族 58

5.2 標準視圖控制器 59

5.2.1 視圖控制器剖析 60

5.2.2 創建視圖控制器 60

5.2.3 創建另一個視圖控制器 60

5.2.4 構建視圖控制器界面 61

5.2.5 使用視圖控制器 62

5.3 表視圖控制器 66

5.3.1 剖析表視圖控制器 66

5.3.2 創建表視圖控制器 66

5.3.3 構建表界面 67

5.3.4 使用表視圖控制器 72

5.4 小結 73

第6章 監控事件和動作 74

6.1 事件簡介 74

6.1.1 回響者鏈 74

6.1.2 觸摸和事件 76

6.2 觸摸的例子:事件報告程式 77

6.2.1 在Interface Builder中構建應用程式 78

6.2.2 為觸摸準備視圖 79

6.2.3 控制事件 80

6.3 其他事件功能 82

6.3.1 規則化事件 82

6.3.2 其他事件方法和屬性 83

6.4 動作簡介 84

6.4.1 UIControl對象 84

6.4.2 控制項事件和動作 84

6.4.3 使用addTarget:action:forControlEvents:方法 86

6.5 向應用程式添加按鈕 86

6.5.1 使用addTarget:action:forControlEvents:與按鈕 87

6.5.2 使用IBAction與按鈕 87

6.6 其他動作功能 88

6.6.1 使用UITextField接受文本輸入 88

6.6.2 允許使用UISlider來選擇值 90

6.6.3 TextField/Slider組合 90

6.6.4 創建動作很容易 92

6.6.5 使用動作 92

6.7 通知簡介 92

6.8 小結 93

第7章 創建高級視圖控制器 94

7.1 標籤欄視圖控制器 94

7.1.1 剖析標籤欄視圖控制器 94

7.1.2 創建標籤欄控制器 95

7.1.3 構建標籤欄界面 97

7.1.4 使用標籤欄控制器 100

7.2 導航控制器 101

7.2.1 剖析導航控制器 101

7.2.2 創建導航控制器 102

7.2.3 完成導航控制器 102

7.2.4 使用導航控制器 106

7.3 使用翻轉控制器 108

7.4 分割視圖控制器 110

7.4.1 創建分割視圖控制器 110

7.4.2 構建分割視圖控制器 112

7.4.3 使用分割視圖控制器 115

7.4.4 為豎向模式和橫向模式調整界面 116

7.5 彈出式視圖控制器和模式視圖控制器 116

7.5.1 創建彈出式視圖控制器 117

7.5.2 創建模式視圖控制器 117

7.6 小結 118

第8章 數據:動作、首選項和檔案 119

8.1 接收用戶動作 119

8.2 管理用戶首選項 120

8.2.1 創建自己的首選項 121

8.2.2 使用系統設定 125

8.3 打開檔案 129

8.3.1 訪問軟體包 130

8.3.2 訪問其他目錄 131

8.3.3 操縱檔案 131

8.3.4 Filesaver:一個UITextView示例 132

8.4 小結 135

第9章 數據:高級技術 136

9.1 使用SQLite 136

9.1.1 設定SQLite資料庫 137

9.1.2 訪問SQLite 138

9.1.3 訪問SQLite資料庫 138

9.1.4 通過資料庫構建導航選單 139

9.1.5 本例的擴展 145

9.2 訪問地址簿 145

9.2.1 框架概述 145

9.2.2 訪問地址簿屬性 146

9.2.3 查詢地址簿 147

9.2.4 使用地址簿UI 149

9.3 Core Data簡介 153

9.3.1 關於Core Data的背景知識 153

9.3.2 在應用程式中設定Core Data 154

9.3.3 初始化Core Data對象 155

9.3.4 為資料庫添加對象 158

9.3.5 在Core Data中提取、更新和刪除對象 158

9.4 小結 160

第10章 定位:加速計、位置和羅盤 161

10.1 加速計和方向 161

10.1.1 orientation屬性 161

10.1.2 方向通知 162

10.2 加速計和移動 162

10.2.1 訪問UIAccelerometer 163

10.2.2 解析UIAcceleration 163

10.2.3 查看重力 164

10.2.4 查看移動 166

10.2.5 識別簡單的加速計移動 166

10.3 加速計和手勢 168

10.4 Core Location 170

10.4.1 位置類 171

10.4.2 使用位置和距離的示例 172

10.4.3 使用海拔的示例 174

10.4.4 使用羅盤 177

10.4.5 Core Location和網際網路 178

10.5 小結 178

第11章 媒體:圖像和照相機 179

11.1 圖像介紹 179

11.1.1 載入UIImage 180

11.1.2 繪製UIImageView 180

11.1.3 在UIKit中修改圖像 181

11.2 利用Core Graphics繪製簡單圖像 182

11.3 訪問照片 183

11.3.1 使用圖像選取器 183

11.3.2 拍照 184

11.3.3 保存到相冊 185

11.4 拼合:一個圖像例子 185

11.4.1 拼合視圖控制器 185

11.4.2 拼合臨時圖像視圖 189

11.4.3 拼合視圖 190

11.4.4 擴展這個例子 191

11.5 小結 191

第12章 媒體:音頻和錄音 192

12.1 播放iPod庫中的音頻 192

12.1.1 從iPod媒體庫中檢索音頻條目 192

12.1.2 獲取MPMediaItem的信息 194

12.1.3 使用MPMusicPlayerController播放媒體條目 194

12.1.4 示例:創建一個簡單的媒體播放器應用程式 196

12.2 錄製音頻 198

12.2.1 初始化音頻錄音器 198

12.2.2 控制音頻錄音器 199

12.2.3 回響AVAudioRecorder事件 200

12.3 手動播放聲音 201

12.3.1 初始化AVAudio Player 201

12.3.2 AVAudioPlayer Delegate 202

12.3.3 控制AVAudioPlayer 202

12.4 示例:創建一個簡單的音頻錄製/播放應用程式 203

12.4.1 創建一個基於視圖的應用程式 204

12.4.2 添加所需的框架 204

12.4.3 構建IBAction 204

12.4.4 創建界面 204

12.4.5 設定音頻錄音器並實現IBAction操作 205

12.5 錄製、播放和訪問視頻 206

12.6 小結 207

第13章 圖形:Quartz、Core Animation和OpenGL 209

13.1 Quartz 2D簡介 209

13.2 Quartz上下文 210

13.2.1 在UIView上繪製圖形 211

13.2.2 在點陣圖上繪製圖形 212

13.3 繪製路徑 213

13.3.1 結束路徑 214

13.3.2 創建可重用路徑 214

13.3.3 繪製矩形 215

13.4 設定圖形狀態 216

13.4.1 設定顏色 216

13.4.2 變換 217

13.4.3 設定裁剪路徑 219

13.4.4 其他設定 220

13.4.5 管理狀態 220

13.5 Quartz中的高級繪圖功能 220

13.5.1 繪製漸變 221

13.5.2 繪製圖像 222

13.5.3 繪製文字 223

13.5.4 未介紹的內容 224

13.6 示例:在圖片上繪圖 224

13.6.1 PhotoDraw視圖控制器 225

13.6.2 photodraw視圖 226

13.6.3 擴展示例 228

13.7 Core Animation簡介 229

13.7.1 Core Animation基礎 230

13.7.2 Core Animation入門 230

13.7.3 繪製簡單的隱式動畫 230

13.7.4 繪製簡單的顯式動畫 231

13.8 OpenGL簡介 232

13.9 小結 232

第14章 Web:Web視圖和網際網路協定 234

14.1 網際網路的層次結構 234

14.2 低層次聯網 234

14.3 使用URL 236

14.3.1 創建NSURL 236

14.3.2 構建NSURLRequest 237

14.3.3 手動操作HTML數據 238

14.4 使用UIWebView 238

14.4.1 調用Web視圖 239

14.4.2 管理Web視圖委託 239

14.4.3 縮略圖:一個Web視圖例子 240

14.5 解析XML 242

14.5.1 啟動NSXMLParser 242

14.5.2 充當委託 243

14.5.3 構建示例RSS閱讀器 244

14.5.4 海拔高度重讀:一個Core Location示例 248

14.6 提交給Web 250

14.6.1 手動提交 250

14.6.2 提交表單 251

14.7 訪問社交網路 252

14.7.1 使用Web協定 252

14.7.2 使用TouchJSON 253

14.8 小結 255

第15章 使用Game Kit進行P2P連線 256

15.1 Game Kit概述 256

15.2 使用對等點選取器創建P2P應用程式 257

15.2.1 使用蘋果公司的內置對等點選取器 257

15.2.2 實現GKSession Delegate方法 260

15.2.3 在對等點之間傳送和接收數據 261

15.3 示例:創建一個多人桌球遊戲 263

15.3.1 啟動GKTennis項目 264

15.3.2 創建頭檔案 264

15.3.3 創建桌球遊戲界面 265

15.3.4 遊戲初始化 266

15.3.5 建立對等點選取器並進行連線 267

15.3.6 實現send和receive方法 268

15.3.7 遊戲循環 270

15.3.8 用戶互動 273

15.4 小結 274

第16章 推送通知服務 275

16.1 什麼是推送通知 275

16.2 蘋果公司的推送通知系統概述 276

16.3 準備在應用程式中使用推送通知服務 277

16.3.1 設定應用程式證書 278

16.3.2 建立供應配置檔案 279

16.3.3 處理推送通知的代碼 279

16.3.4 準備音頻檔案 281

16.4 使用PHP創建一個推送通知提供程式 281

16.4.1 創建SSL證書 282

16.4.2 實現PHP推送通知提供程式 283

16.5 小結 284

第17章 Map Kit框架 285

17.1 Map Kit概述 285

17.2 向應用程式添加地圖 285

17.2.1 使用Interface Builder添加地圖 285

17.2.2 用編程方式添加地圖 287

17.2.3 控制地圖 287

17.3 翻譯地理編碼 289

17.4 標註地圖 290

17.4.1 添加基本地圖示注 291

17.4.2 添加自定義地圖示注 292

17.5 小結 296

第18章 使用Store Kit實現套用內購買 297

18.1 建立沙盒測試環境 297

18.1.1 創建iTunes測試用戶 298

18.1.2 添加產品 299

18.2 創建一個簡單的商店界面 301

18.3 小結 309

第19章 iPhone SDK增強功能 311

19.1 自定義鍵盤附屬檔案 311

19.1.1 擴展UITextField 312

19.1.2 實現自定義UIText Field 314

19.1.3 自定義鍵盤 314

19.2 繼續:iPhone 4.0 SDK 316

19.2.1 多任務 316

19.2.2 用戶體驗增強功能 317

19.2.3 多媒體框架增強功能 317

19.2.4 Game Center 317

19.3 小結 318

附錄A iPhone OS類參考 319

附錄B 外部資源和參考資料 322

附錄C 發布SDK程式 324

附錄D 針對iPad更新當前應用程式 327

熱門詞條

聯絡我們