內容簡介
隨書附贈的光碟中包含了書中大量案例的完整工程原始碼,可以讓讀者參考學習。
本書既可以作為大學教材、企業培訓教材,亦可作為蘋果技術專業參考書籍,適合大學師生、企業管理人員、開發人員、培訓機構教師和學員、IT業界人士等參考和閱讀。
作者簡介
虞斌:高級系統架構師,企業IT服務高級顧問,軟體開發專家,有著極為豐富的工程項目背景,技術領域涵蓋了從晶片設計,微控制器/嵌入式系統設計和開發,手機/移動設備,到網路安全設備,高性能網站和大型企業套用的系統架構設計和開發。專業架構設計技術顧問,項目管理和軟體質量保證專家,主要研究實時系統(RTOS),手機軟體和遊戲, 及信息安全相關領域,並提供相關產品和解決方案,是集軟硬體專業技術和現代企業管理於一身的優秀複合型人才。作為Scrum敏捷過程管理高級顧問,精益軟體開發和軟體架構培訓講師,獨立設計並開發了( ClearWorks )精益研發平台,幫助企業改進他們的軟體開發方式。經過多年的技術積澱後, 創建了成都金可果軟體有限公司, 從事iPhone, iPad,Android,Windows Phone,Symbain等移動平台的遊戲和手機軟體產品開發。除了手機軟體和遊戲業務以外,公司也涉及微電子系統,嵌入式系統,電子產品和設備的系統技術架構諮詢和方案設計服務。在高性能電子商務網站,社交網路和大型企業套用方面,公司也提供技術諮詢以及開發服務。
目錄
第1章 iPhone開發環境設定 11.1 安裝雪豹作業系統2
1.2 安裝iPhone SDK 5
1.3 無證書開發環境Xcode設定 7
1.4 有證書開發環境Xcode設定 11
1.5 安裝原始碼版本管理工具 12
1.6 安裝Wine 12
1.7 使用Wine安裝Source Insight 13
1.8 相關網路資源14
第2章Objective-C編程基礎 152.1 Objective-C介紹 16
2.2 第一個iPhone程式 16
2.3 Objective-C基本類型 17
2.3.1 id 17
2.3.2 SEL 17
2.3.3 BOOL 18
2.3.4 nil、NULL和NSNull 18
2.4 常量聲明和預處理宏 20
2.5 使用#import包含頭檔案 22
2.6 使用#pragma mark分隔代碼塊 22
2.7 Objective-C記憶體管理:retain和release 22
2.8 字元串操作 26
2.8.1 字元串常量 26
2.8.2 獲取子字元串 27
2.8.3 合併和格式化字元串 28
2.8.4 分隔字元串 28
2.8.5 NSString和char*之間的轉換 29
2.8.6 字元串比較 29
2.9 處理數值對象 30
2.10 處理日期時間NSDate 31
2.11 處理NSData類型 32
2.12 集合操作 32
2.12.1數組操作:NSArray和NSMutableArray 32
2.12.2 字典操作:NSDictionary和NSMutableDictionary 42
2.12.3 集合操作:NSSet和NSMutableSet 47
2.12.4 堆疊操作 49
2.13面向對象編程:類、實例和訊息 50
2.13.1 類定義 50
2.13.2 類構造和構析函式 51
2.13.3 Singleton模式 53
2.13.4 @class、@protocol前向聲明 53
2.13.5 self和super 54
2.13.6 實例方法和類方法 54
2.13.7 對象屬性(@property) 55
2.13.8 靜態屬性(static attributes) 58
2.14 類擴展(Class Categories) 59
2.15 Objective-C接口編程 60
2.15.1 接口編程之@protocol 60
2.15.2 接口編程之後台執行緒 63
2.15.3 接口編程之Notifications 65
2.15.4 接口編程之NSOperationQueue 68
2.15.5 接口編程之私有方法 69
2.15.6 接口編程之靜態庫隱藏類 70
2.15.7 接口編程之@protocol封裝類 72
2.15.8 接口穩定性和接口繼承 73
2.16定時器(NSTimer)編程 77
2.17 序列化和反序列化 78
2.17.1 序列化方法之Property List 78
2.17.2 序列化方法之NSKeyedArchiver 78
2.17.3 序列化方法之Core Data 79
2.18 Objective-C和C、C++混合編程 80
2.19 訊息和NSInvocation 87
2.20 方法混合(Method Swizzling) 90
2.21 使用NSAssert進行代碼調試 93
2.22 本章總結 93
2.23 參考書籍 93
第3章 iPhone SDK開發基礎 95
3.1 iPhone SDK介紹 96
3.2 第一個iPhone 界面程式 99
3.3 iPhone程式啟動過程 105
3.4 iPhone程式生命周期 107
3.5 掌握iPhone程式通信中心UIApplication和UIApplicationDelegate 110
3.6 iPhone坐標系統111
3.7 UIView層次管理 116
3.8 觸控(Touch)測試 120
3.9 多點觸控(MultiTouch)和物體移動 122
3.10 UIView旋轉和縮放 125
3.11 UIScrollView編程 127
3.12 iPhone程式框架 129
3.12.1 使用UINavigationController組織和管理UIView 130
3.12.2 使用UITabBarController組織和管理UIView 130
3.12.3 使用UISplitViewController組織和管理UIView 133
3.13 旋轉螢幕(Screen Rotations) 135
3.14 掌握UIButton編程 138
3.15 管理界面字型139
3.16 使用UILabel管理界面文本 141
3.17 管理界面顏色 143
3.18 界面風格(TRANSITIONING STYLES) 148
3.19 單詞排序表格編程 149
3.20 NSUserDefaults和Property List檔案 150
3.21 檔案系統和外部資源管理 152
3.22 簡單動畫製作 155
3.23 閃屏製作——程式啟動動畫 157
3.24 多行文本輸入控制項製作 159
3.25 圖片處理 162
3.26 Core Audio編程 163
3.27 UITableView編程 165
3.28 UISegmentedControl編程 167
3.29 OpenFlow編程 169
3.30 UIPageControl編程 172
3.31 自定義儀表控制項 175
3.32 本章總結 180
第4章 iPhone SDK高級編程 181
4.1 Base64編解碼 182
4.2 Web Service和XML數據解析 183
4.3 JSON數據解析 184
4.4 掌握SQLite管理用戶數據 187
4.5 快取(Caching)及Core Data數據管理 191
4.6 使用AES算法進行數據加解密 207
4.7電子商務安全基礎——RSA算法和數據加密210
4.7.1 開發.NET版本RSA算法庫 210
4.7.2 建立iPhone版本RSA算法庫 217
4.8 自定義用戶界面控制項製作 220
4.8.1 ComboBox控制項和UIPikerView設計 220
4.8.2 自定義UIDatePicker製作 224
4.9 UIWebView和JavaScript高級編程 229
4.10 本章總結 236
第5章 iPhone企業套用實例分析 237
5.1 綜合套用概述 238
5.2 系統介紹 238
5.3 系統需求和主要用例 239
5.4 程式處理流程 241
5.5 主要實現類和相互關係 242
5.6 程式框架分析244
5.7 技術要點分析 249
5.7.1 異步網路通信249
5.7.2 Core Data快取數據 252
5.7.3 RSA算法加解密 258
5.7.4 自定義控制項製作 258
5.7.5表格控制項定製 260
5.7.6 自定義UIToolbar 266
5.7.7 目錄瀏覽器製作 268
5.7.8 檔案上傳和下載 273
5.8 本章總結 277
第6章 iPad軟體開發基礎 279
6.1 iPad軟體開發介紹 280
6.2 UISplitViewController編程 280
6.3 UIPopoverController編程 287
6.4 定製MPMoviePlayerController進行視頻播放 290
6.5 開發調色板(Palette)控制項 294
6.6 傳送郵件 296
6.7 Google地圖編程 297
6.8 本章總結 314
第7章 iPad商業軟體實例分析 317
7.1 綜合套用概述 318
7.2 系統介紹 318
7.3 系統需求和主要用例 319
7.4 程式處理流程 321
7.5 主要實現類和相互關係 321
7.6 程式框架 323
7.7 技術要點分析 335
7.7.1 圖片分頁和滾動顯示 335
7.7.2 動態管理多國語言界面 340
7.7.3 播放網路視頻341
7.8 本章總結 344
第8章 iOS遊戲開發基礎 345
8.1 概述 346
8.2 cocos2d系統介紹 346
8.3 cocos2d編程基礎 349
8.3.1 第一個cocos2d程式 349
8.3.2 基本動畫 353
8.4Box2D物理引擎356
8.4.1 核心概念 356
8.4.2 碰撞檢測 357
8.5 Chipmuck物理引擎 361
8.5.1 重要概念 361
8.5.2 物理模擬和碰撞檢測 363
8.6 粒子系統 365
8.6.1 軌道衛星(Orbit Satellite) 366
8.6.2 太空隕石(Space Rocks) 367
8.7 本章總結 369
第9章 iOS商業遊戲實例分析 371
9.1 概述 372
9.2 閃回(Flash Back) 372
9.3 法術的釋放(Ghost Castle) 376
9.3.1 GhostCastle中的Tile Map管理 378
9.3.2 cocos2d中的Tile Map管理 381
9.4 甜蜜的夢(Sweet Dreams) 384
9.5 毀滅之戰(RavagedByWar) 391
9.5.1 A*算法 392
9.5.2 毀滅之戰中的A*算法實現 397
9.6 吹吹魚(PuffPuff) 399
9.7 本章總結 403
第10章 iPhone軟體發布 405
10.1 App Store概述 406
10.2 iPhone軟體發布步驟 406
10.3 ipa安裝包製作410
10.4iOS配置檔案和Settings系統編程411
10.5 本章總結 415
附錄 417