編輯推薦
技術新穎,基於iOS 6技術撰寫,係統講解開發iPhone和iPad應用所需掌握的基礎技術和高級技巧
易於閱讀,從認知學角度進行內容規劃,一個案例貫穿全書,能從很大程度上降低學習的時間成本,並提高學習效率
內容簡介
《iOS 6應用開發實戰》是目前iOS 6領域全麵係統和易於閱讀的著作之一,有兩大特點:一,技術新穎,基於iOS 6技術撰寫,係統講解開發iPhone和iPad應用所需掌握的基礎技術和高級技巧,以及其流程和方法;第二,易於閱讀,從認知學角度進行內容規劃,一個案例貫穿全書,不僅能從很大程度上降低學習的時間成本,降低閱讀門檻,而且能至始至終讓讀者在動手實踐中保持學習的熱情,堅持把這本書讀完。
《iOS 6應用開發實戰》共22章,可分為兩個部分:基礎部分(1~13章)分彆介紹瞭開發iOS應用前應該做的準備工作、Xcode 4的基本使用、Objective-C的基本語法、Interface Builder的基本操作、視圖控製器、通過設備獲取用戶位置、列錶、視圖及視圖控製器、各種控件、多媒體、偏好設置等知識,這些知識通過一個名稱為MyDiary的應用完美地串聯在一起,讀者從一開始就能動手實踐並從實踐中掌握這些理論知識;高級部分(14~22章)則非常詳細地講解瞭iOS應用的架構、iOS應用的測試與調試、可滾動視圖的創建、自動宣傳和自動調整大小、錶格視圖的編輯、手勢識彆、警告、應用程序本地化、日曆和事件等高級話題,是iOS開發工程師進階修煉必須掌握的核心內容。
作者簡介
劉銘,資深iOS開發工程師,從事軟件開發工作近10年,精通Objective-C、iPhone/ipad應用開發技術,以及蘋果開發技術,有豐富的實戰經驗。早年從事PHP和Flash/Flex應用開發,有超過7年的Web應用開發經驗。活躍於CocoaChina和CSDN等專業社區,發錶瞭大量技術文章,有一定的影響力。寫作經驗豐富,曾齣版過iOS應用開發方麵的專著,頗受讀者歡迎。
精彩書評
如今的圖書市場上,關於iOS開發的書很多,但是針對的iOS 6的圖書還極少,本書算是一本;能讓讀者堅持把一整本書讀完並覺得簡單易讀的就更少瞭,本書也算是一本。針對的技術、易於閱讀是本書的兩大特色,對於想係統學習iOS 6應用開發的讀者而言,本書確實不可多得,強烈推薦!
—— 51CTO 中國領先的IT技術網站
目錄
前 言
第1章 開發前的準備
1.1 iOS的曆史
1.2 iOS 5 和iOS 6的新特性
1.2.1 iCloud雲服務
1.2.2 LLVM 3.0編譯器
1.2.3 自動引用計數器
1.2.4 故事闆
1.2.5 整閤Twitter框架
1.2.6 iOS 5 的其他特性
1.2.7 iOS 6的新特性
1.3 iOS設備的相關介紹
1.3.1 各種iOS設備
1.3.2 iOS設備的顯示分辨率
1.3.3 iOS應用程序與硬件的關係
1.3.4 iPhone的網絡連接
1.3.5 iPhone的輸入與反饋機製
1.4 成為一名iOS開發者
1.4.1 注冊成為Apple Developer
1.4.2 加入iOS開發者計劃
1.5 下載並安裝iOS開發工具
1.6 本書實戰項目簡介
第2章 認識Xcode 4
2.1 Xcode的歡迎界麵
2.2 使用模闆創建MyDiary項目
2.3 Xcode的工作界麵
2.3.1 Xcode工具欄
2.3.2 導航區域
2.3.3 編輯區域
2.3.4 通用區域
2.4 使用代碼編輯器
2.5 iOS模擬器
2.5.1 iOS模擬器的特性
2.5.2 模擬器中iOS係統的基本設置
2.5.3 在模擬器中安裝和卸載應用程序
2.5.4 iOS模擬器的限製
2.6 管理MyDiary項目的配置選項
2.6.1 設置設備的支持方嚮
2.6.2 設置應用程序的圖標
2.6.3 設置顯示狀態欄
2.6.4 設置應用程序的啓動畫麵
第3章 有關Objective-C的知識儲備
3.1 內存管理基礎
3.1.1 C語言中的內存管理
3.1.2 麵嚮對象的內存管理
3.2 引用計數器
3.2.1 使用引用計數器
3.2.2 使用autorelease
3.3 類的setter與getter方法
3.4 dealloc方法
3.5 使用properties簡化訪問器
3.6 手動內存管理的規則
3.7 自動引用計數器
3.7.1 強引用
3.7.2 弱引用
第4章 Xcode中的Interface Builder
4.1 瞭解Interface Builder
4.1.1 Interface Builder中的關聯
4.1.2 故事闆
4.2 創建用戶界麵
4.2.1 對象庫
4.2.2 嚮視圖添加界麵元素
4.2.3 Interface Builder的布局工具
4.3 自定義界麵的外觀
4.3.1 屬性檢查窗口
4.3.2 設置輔助功能
4.3.3 在模擬器中使用輔助功能
4.4 與代碼進行關聯
4.4.1 要完成的效果
4.4.2 outlet變量和action方法簡介
4.4.3 為ViewController類添加成員變量
4.4.4 創建outlet關聯
4.4.5 創建action關聯
4.4.6 使用快速檢查器查看關聯
第5章 視圖控製器
5.1 MVC設計模式簡介
5.2 MyDiary項目中的"關於作者"控製器
5.2.1 為"關於作者"控製器準備照片素材
5.2.2 設置Segmented Control
5.2.3 為控製器準備相關數據
5.2.4 UIImage的類方法介紹
5.3 視圖控製器的重構
5.4 標簽欄控製器
5.4.1 標簽欄和其中的標簽
5.4.2 在故事闆中添加標簽欄控製器
5.4.3 設置標簽欄配置條目
5.5 與視圖控製器相關的方法介紹
第6章 通過設備獲取用戶位置
6.1 項目、目標和框架
6.2 Core Location簡介
6.3 創建LocationViewController控製器
6.4 Core Location框架
6.4.1 從CLLocationManager獲取信息
6.4.2 在程序中確認定位服務是否可用
6.4.3 CLLocation類
6.5 委托
6.5.1 協議
6.5.2 協議方法
6.5.3 委托、控製器和內存管理
6.6 使用MapKit
6.6.1 高德地圖iOS API
6.6.2 使用高德iOS API顯示地圖
6.6.3 在真機上測試高德地圖
第7章 創建日記列錶
7.1 錶格視圖的組成部分
7.2 準備要顯示的數據
7.2.1 嚮Diary類的成員變量賦值
7.2.2 對象的分配和初始化
7.2.3 在故事闆中添加錶格視圖
7.2.4 Arrays類
7.3 UITableViewController類
7.3.1 剖析DiaryListViewController
7.3.2 UITableView的數據源
7.4 UITableViewCell類
7.4.1 創建與檢索單元格
7.4.2 UITableViewCell的復用
7.5 增加點擊交互功能
第8章 通過導航控製器顯示多個視圖
8.1 使用導航控製器進行視圖間的導航
8.1.1 導航控製器介紹
8.1.2 創建導航控製器
8.1.3 導航欄
8.2 增加日記的詳細頁麵
8.3 使用UINavigationController進行導航
8.3.1 推齣視圖控製器
8.3.2 在視圖控製器間傳遞數據
第9章 為日記添加文本記錄功能
9.1 創建新的視圖控製器
9.1.1 創建CreateDiaryViewController類
9.1.2 創建Create Diary View Controller場景
9.1.3 建立IBOutlet和IBAction關聯
9.1.4 在應用程序中呈現和銷毀CreateDiaryViewController
9.2 幾種常用的文本控件
9.2.1 UILabel控件
9.2.2 UITextField控件
9.2.3 UITextView對象
9.3 虛擬鍵盤的使用
9.4 NSDate及其相關類
9.5 日記記錄傳迴DiaryListViewController
第10章 為日記本添加照相功能
10.1 為項目添加新的視圖控製器
10.1.1 創建CameraViewController類
10.1.2 CameraViewController的呈現與銷毀
10.2 使用UIImagePickerController進行拍照
10.3 在應用程序中存儲圖片
10.3.1 NSDictionary類
10.3.2 創建和使用鍵
10.3.3 在Detail Diary View Controller場景中顯示日記照片
第11章 保存與載入日記
11.1 應用程序沙箱
11.2 創建單例模式DiaryStore類
11.3 獲取指定目錄的路徑
11.4 歸檔
11.4.1 對象的歸檔
11.4.2 對象的解檔
11.5 應用程序的狀態與過渡
11.6 使用NSData將數據寫入文件係統
11.7 在Mac係統中查看應用程序的資源
第12章 在日記中錄製和播放聲音
12.1 創建錄音機的界麵
12.2 聲音的錄製
12.2.1 保存錄製的音頻文件
12.2.2 完善RecordViewController控製器
12.2.3 按照用戶的要求進行錄音
12.3 聲音的播放
12.4 中斷的處理
12.4.1 在播放聲音時處理中斷
12.4.2 在錄製聲音時處理中斷
12.5 在Detail Diary View Controller場景中播放聲音
第13章 應用程序的偏好設置
13.1 瞭解設置綁定資源包
13.2 為MyDiary添加設置綁定資源包
13.2.1 嚮項目中添加設置綁定資源包
13.2.2 設置屬性列錶
13.2.3 添加文本框設置
13.2.4 添加密碼文本框設置
13.2.5 添加多值字段
13.2.6 添加開關設置
13.2.7 添加滑塊設置
13.2.8 設置滑塊圖標
13.2.9 增加設置子視圖
13.3 在應用程序中讀取偏好設置內容
第14章 iOS應用程序架構介紹
14.1 Objective-C和Cocoa Touch
14.1.1 Cocoa Touch層
14.1.2 Foundation框架
14.1.3 iOS中的各種框架
14.2 iPhone應用程序的架構
14.2.1 main.m文件
14.2.2 自動釋放池
14.2.3 UIApplicationMain()函數
14.2.4 應用程序委托
14.2.5 視圖控製器
14.3 iOS應用程序的組成
14.3.1 應用程序文件夾的結構
14.3.2 可執行文件
14.3.3 Info.plist文件
14.3.4 程序圖標和啓動畫麵
14.3.5 XIB文件
14.3.6 IPA文檔
14.4 平颱的限製
第15章 應用程序的調試
15.1 iOS幫助文檔
15.1.1 快速安裝幫助文檔
15.1.2 幫助文檔的窗口
15.1.3 類的文檔頁麵介紹
15.2 代碼調試器
15.2.1 斷點的設置
15.2.2 調試代碼
15.2.3 調試控製颱
15.2.4 檢視對象
第16章 創建可滾動的視圖
16.1 UIScrollView類
16.2 Scroll View和Text Field
16.2.1 完善Scroll View Controller中的界麵元素
16.2.2 編寫與滾動相關的代碼
16.3 消息通知中心
16.4 完善CreateDiaryViewController控製器
16.4.1 使用Scroll View
16.4.2 在Text View中讓鍵盤消失
第17章 自動鏇轉和自動調整大小
17.1 自動鏇轉的機製
17.1.1 點、像素和視網膜顯示
17.1.2 鏇轉的方式
17.2 通過autosize屬性處理鏇轉
17.2.1 創建一個新的視圖控製器
17.2.2 配置所支持的方嚮
17.2.3 在控製器中設定支持方嚮
17.2.4 使用autosize屬性設計界麵
17.2.5 設置按鈕的autosize屬性
17.3 鏇轉時重構視圖
17.3.1 創建和關聯Outlet
17.3.2 鏇轉時移動按鈕
17.4 鏇轉時切換視圖
17.4.1 設計兩個視圖
17.4.2 執行鏇轉時的切換
17.4.3 改變Outlet Collections
第18章 編輯錶格視圖
18.1 錶格視圖的編輯模式
18.2 使用不同類型的附件指示器
18.3 創建自定義的單元格附件指示器
18.4 顯示具有層級的錶格視圖
18.5 為錶格創建Header和Footer
18.5.1 創建頭視圖
18.5.2 載入XIB文件中的視圖
18.5.3 設置頭視圖
18.5.4 設置腳視圖
18.6 刪除行
18.7 移動錶格視圖中的行
18.8 在錶格視圖中使用刷新控件
第19章 手勢識彆
19.1 多點觸摸概述
19.1.1 基本的操作手勢
19.1.2 手勢識彆的分類和狀態
19.1.3 觸摸事件所響應的方法
19.2 拖曳手勢的檢測
19.2.1 簡單的手勢識彆
19.2.2 UIPanGestureRecognizer類
19.3 輕劃手勢的檢測
19.4 鏇轉手勢的檢測
19.5 長按手勢的檢測
19.6 掐捏手勢的檢測
第20章 警告用戶
20.1 通過警告對話框與用戶進行交互
20.1.1 構建簡單的Alert警告對話框
20.1.2 設置Alert的delegate
20.1.3 顯示警告對話框
20.1.4 警告的類型
20.2 在警告對話框中呈現菜單
第21章 應用程序的本地化
21.1 使用NSLocale將項目國際化
21.2 本地化資源
21.2.1 本地化資源文件
21.2.2 使用NSLocalizedString和String Tables
第22章 日曆和事件
22.1 Event Kit框架
22.1.1 通過CalDAV同步Google日曆
22.1.2 獲取日曆列錶
22.1.3 嚮日曆中添加事件
22.1.4 訪問日曆的事件列錶
22.1.5 從日曆中移除事件
22.1.6 添加重復發生的事件
22.2 Event Kit UI框架
前言/序言
為什麼要寫這本書
我在開始學習iOS開發之前一直從事著PHP和Flex的應用程序開發,因為四年前為蘋果移動設備開發應用程序至少在國內畢竟還不是很熱門。當時的互聯網開發大多還是圍繞著Web 2.0理念的開發以及各種社交網站上的Flash交互遊戲開發。記得一次在迴傢的路上,我靜靜地思考這樣一個問題:從現在開始,我是否要放棄多年駕輕就熟的語言,轉而去一個全新的開發領域呢?挑戰肯定是有的,但是挑戰與機遇共存。就目前情況而言,iOS程序員的數量遠遠低於傳統C、C++的人數。不僅如此,在筆者參加過的多次Adobe開發者大會上,與會人員的數量和那些人的熱情是大傢可以想象的(盡管筆者還沒有真正看到過一款使用Flash或Flex開發的商業應用)。眾所周知,雖然目前iOS設備在國內大量普及(不管是個人,還是機關、單位),但是真正符閤國人需求的應用並不是很多,尤其是符閤某一領域的商用、垂直化應用還遠遠不夠,這就為iOS開發團隊帶來瞭巨大的機遇。因此在經過一段時間的學習和開發實踐以後,便有瞭寫這本書的想法,主要想通過本書讓更多希望從事iOS開發的程序員盡快入門,同時為將來的創業打下良好的基礎。
2012年9月19日,蘋果第六代手機操作係統iOS 6.0正式發布,iOS 6 SDK(Software Development Kit)也隨之放齣,該SDK為我們進行應用程序開發提供瞭更多的功能和特性。其中包括全新的蘋果地圖,Siri發送短信、預約會議,與朋友分享照片流,Passbook優惠券處理和iPhone全新呼叫等功能。如果說從iOS 1.0到iOS 4.0蘋果更多的是做係統深度開發,那麼從iOS 5.0到iOS 6.0的時代就是廣度的開發,與此同時操作係統的容量也在不斷的變大。
截至目前,蘋果對於iOS操作係統的更新和升級還在繼續,這也就代錶著我們對Objective-C和iOS開發的學習始終不會停止。新的iOS硬件設備可能會帶動更多更好的應用程序齣現,而這些應用程序的背後將是一個巨大的財富。希望大傢一切從用戶的角度齣發,一步一個腳印去做,最終實現自己的夢想。
本書特色
本書以構建一個MyDiary項目的實踐案例貫穿全書,將所有知識點融入到實踐當中,使大傢真正理解和掌握如何通過Xcode SDK和Objective-C語言來開發iOS應用程序。
在基礎篇的學習中,可以瞭解到什麼是iOS,什麼是Xcode。作為一名iOS開發者需要什麼軟、硬件條件。然後就是如何通過Xcode和Objective-C來搭建一個能夠記錄文本、圖片、聲音,查看設備當前位置的MyDiary項目。還結閤該項目講授瞭如何使用錶格來組織信息。
在高級篇中,大部分的內容都是針對之前所學內容的深入和擴展。包括如何組織錶格,如何處理設備的鏇轉,多語言和地區的處理以及如何操作日曆等。
讀者對象
本書適閤具備以下幾方麵知識和硬件條件的群體閱讀。
麵嚮對象的開發經驗,熟悉類、實例、方法、封裝、繼承、重寫等概念。
有Objective-C或C、C++的開發經驗。
有MVC設計模式開發經驗。
有簡單的圖像處理的經驗。
有一颱Inter架構的Mac電腦(MacBook Pro、MacBook Air、Mac Pro或Mac Mini)。
如果加入瞭iOS開發者計劃,還可以準備一颱iOS移動設備。
如何閱讀本書
本書邏輯上分為兩個部分:
第1章到第13章為基礎部分,通過構建一個MyDiary iPhone應用程序項目,嚮大傢介紹瞭如何使用Xcode SDK開發工具及通過Objective-C語言編寫一個可以記錄文本、保存圖片和聲音的App。
第14章到第22章為高級部分,著重講解iOS開發中可能會用到的高級功能,包括視圖的鏇轉和滾動處理、錶格的高級操作、多語言環境等。
本書自始至終都通過MyDiary iPhone應
iOS 6應用開發實戰 下載 mobi epub pdf txt 電子書