iOS開發指南:從零基礎到App Store上架 第2版

iOS開發指南:從零基礎到App Store上架 第2版
定價:594
NT $ 517
  • 作者:關東升
  • 出版社:人民郵電出版社
  • 出版日期:2014-04-01
  • 語言:簡體中文
  • ISBN10:7115348022
  • ISBN13:9787115348029
  • 裝訂:699頁 / 普通級 / 2-1
 

內容簡介

本書采用全新的iOS 7 API,詳細介紹了iOS 7開發相關的知識點。本書共分為4個部分:第一部分為基礎篇,介紹了iOS的一些基礎知識;第二部分為網絡篇,介紹了iOS網絡開發相關的知識;第三部分為進階篇,介紹了iOS高級內容、商業思考等;第四部分為實戰篇,從無到有地介紹了兩個真實的iOS應用:MyNotes應用和2016里約熱內盧奧運會應用。

本書適用於iOS應用開發人員、大學老師、培訓學員以及對於iOS開發感興趣的群體使用,也可作為iOS培訓教材使用。
 

目錄

第一部分 基 礎 篇
第1章 開篇綜述  
1.1 iOS概述  
1.1.1 iOS介紹  
1.1.2 iOS 7新特性  
1.2 開發環境及開發工具  
1.3 本書中的約定  
1.3.1 案例代碼約定  
1.3.2 圖示的約定  
第2章 第一個iOS應用程序  
2.1 創建HelloWorld工程  
2.1.1 創建工程  
2.1.2 Xcode中的iOS工程模板  
2.1.3 應用剖析  
2.2 HelloWorld工程中故事板文件Main.storyboard  
2.2.1 故事板的導航特點  
2.2.2 故事板中的Scene和Segue  
2.3 應用生命周期  
2.3.1 非運行狀態--應用啟動場景  
2.3.2 點擊Home鍵--應用退出場景  
2.3.3 掛起重新運行場景  
2.3.4 內存清除--應用終止場景  
2.4 視圖生命周期  
2.4.1 視圖生命周期與視圖控制器關系  
2.4.2 iOS UI狀態保持和恢復  
2.5 設置產品屬性  
2.5.1 Xcode中的Project和Target  
2.5.2 設置常用的產品屬性  
2.6 iOS API簡介  
2.6.1 API概述  
2.6.2 如何使用API幫助  
2.7 小結  
第3章 UIView與控件  
3.1 視圖「始祖」--UIView  
3.1.1 UIView「家族」  
3.1.2 應用界面的構建層次  
3.1.3 視圖分類  
3.2 標簽控件和按鈕控件  
3.2.1 標簽控件  
3.2.2 按鈕控件  
3.2.3 動作和輸出口  
3.3 TextField控件和TextView控件  
3.3.1 TextField控件  
3.3.2 TextView控件  
3.3.3 鍵盤的打開和關閉  
3.3.4 關閉和打開鍵盤的通知  
3.3.5 鍵盤的種類  
3.4 開關控件、滑塊控件和分段控件  
3.4.1 開關控件  
3.4.2 滑塊控件  
3.4.3 分段控件  
3.5 網頁控件WebView  
3.5.1 WebView介紹  
3.5.2 使用WebView構建Hybrid應用  
3.6 屏幕滾動控件ScrollView  
3.6.1 ScrollView屬性的設置  
3.6.2 鍵盤與其他控件的協同  
3.7 等待相關的控件與進度條  
3.7.1 活動指示器ActivityIndicatorView  
3.7.2 進度條ProgressView  
3.8 警告框和操作表  
3.8.1 警告框AlertView  
3.8.2 操作表ActionSheet  
3.9 工具欄和導航欄  
3.9.1 工具欄  
3.9.2 導航欄  
3.10 屏幕布局  
3.10.1 iPad、iPhone和iPhone 5屏幕布局  
3.10.2 絕對布局和相對布局  
3.10.3 使用AutoLayout布局  
3.10.4 旋轉你的屏幕  
3.11 選擇器  
3.11.1 日期選擇器  
3.11.2 普通選擇器  
3.11.3 數據源協議與委托協議  
3.12 集合視圖  
3.12.1 集合視圖介紹  
3.12.2 集合視圖單元格  
3.12.3 數據源協議與委托協議  
3.13 小結  
第4章 表視圖  
4.1 概述  
4.1.1 表視圖的組成  
4.1.2 表視圖的相關類  
4.1.3 表視圖分類  
4.1.4 單元格的組成和樣式  
4.1.5 數據源協議與委托協議  
4.2 簡單表視圖  
4.2.1 創建簡單表視圖  
4.2.2 自定義單元格  
4.2.3 添加搜索欄  
4.3 分節表視圖  
4.3.1 添加索引  
4.3.2 分組與靜態表  
4.4 修改單元格  
4.4.1 刪除和插入單元格  
4.4.2 移動單元格  
4.5 表視圖UI設計模式  
4.5.1 分頁模式  
4.5.2 下拉刷新模式  
4.5.3 iOS 7下拉刷新控件  
4.6 小結  
第5章 視圖控制器與導航模式  
5.1 概述  
5.1.1 視圖控制器的種類  
5.1.2 導航模式  
5.1.3 模態視圖  
5.2 平鋪導航  
5.2.1 應用場景  
5.2.2 基於分屏導航的實現  
5.2.3 基於分頁導航的實現  
5.3 標簽導航  
5.3.1 應用場景  
5.3.2 實現  
5.4 樹形結構導航  
5.4.1 應用場景  
5.4.2 實現  
5.5 組合使用導航模式  
5.5.1 應用場景  
5.5.2 實現  
5.6 小結  
第6章 iOS常用設計模式  
6.1 單例模式  
6.1.1 問題提出  
6.1.2 實現原理  
6.1.3 應用案例  
6.2 委托模式  
6.2.1 問題提出  
6.2.2 實現原理  
6.2.3 應用案例  
6.3 觀察者模式  
6.3.1 問題提出  
6.3.2 實現原理  
6.3.3 通知機制和KVO機制  
6.4 MVC模式  
6.4.1 MVC模式概述  
6.4.2 Cocoa Touch中的MVC模式  
6.5 小結  
第7章 iPhone與iPad應用開發的差異  
7.1 概述  
7.1.1 應用場景差異  
7.1.2 設計和開發需注意的問題  
7.1.3 構建自適應的iPhone和iPad工程  
7.2 iPad專用API  
7.2.1 UIPopoverController控制器  
7.2.2 UISplitViewController控制器  
7.2.3 模態視圖專用屬性  
7.3 小結  
第8章 iOS分層架構設計  
8.1 低耦合企業級系統架構設計  
8.2 iOS分層架構設計  
8.2.1 基於同一工程的分層  
8.2.2 基於一個工作空間不同工程的分層  
8.3 小結  
第9章 iOS 7中文字排版和渲染引擎--Text Kit  
9.1 Text Kit基礎  
9.1.1 文字的排版和渲染  
9.1.2 Text Kit架構  
9.1.3 Text Kit中的核心類  
9.1.3 實例:凸版印刷效果  
9.2 文字圖片混合排版  
9.3 動態字體  
9.4 小結  
第10章 應用程序設置  
10.1 概述  
10.1.1 設置  
10.1.2 配置  
10.2 應用程序設置包  
10.3 設置項目種類  
10.3.1 文本字段  
10.3.2 開關  
10.3.3 滑塊  
10.3.4 值列表  
10.3.5 子界面  
10.4 讀取設置  
10.5 小結  
第11章 國際化  
11.1 概述  
11.1.1 需要國際化的內容  
11.1.2 國際化目錄結構  
11.2 文本信息國際化  
11.2.1 系統按鈕和信息國際化  
11.2.2 應用名稱國際化  
11.2.3 程序代碼輸出的靜態文本國際化  
11.2.4 使用genstring工具  
11.3 xib和故事板文件國際化  
11.3.1 使用Base國際化技術  
11.3.2 AutoLayout與國際化  
11.4 資源文件國際化  
11.4.1 圖片資源文件國際化  
11.4.2 聲音資源文件國際化  
11.5 小結  
第12章 數據持久化  
12.1 概述  
12.1.1 沙箱目錄  
12.1.2 持久化方式  
12.2 屬性列表  
12.3 對象歸檔  
12.4 使用SQLite數據庫  
12.4.1 SQLite數據類型  
12.4.2 創建數據庫  
12.4.3 查詢數據  
12.4.4 修改數據  
12.5 Core Data  
12.5.1 ORM  
12.5.2 Core Data堆棧  
12.5.3 建模和生成實體  
12.5.4 采用Core Data分層架構設計  
12.5.5 查詢數據  
12.5.6 修改數據  
12.6 小結  
第13章 訪問通訊錄  
13.1 概述  
13.2 讀取聯系人信息  
13.2.1 查詢聯系人記錄  
13.2.2 讀取單值屬性  
13.2.3 讀取多值屬性  
13.2.4 讀取圖片屬性  
13.3 寫入聯系人信息  
13.3.1 創建聯系人  
13.3.2 修改聯系人  
13.3.3 刪除聯系人  
13.4 高級API  
13.4.1 選擇聯系人  
13.4.2 顯示和修改聯系人  
13.4.3 創建聯系人  
13.5 小結  
第二部分 網 絡 篇
第14章 訪問Web Service  
14.1 概述  
14.2 數據交換格式  
14.2.1 XML文檔結構  
14.2.2 解析XML文檔  
14.2.3 JSON文檔結構  
14.2.4 JSON數據解碼  
14.3 REST Web Service  
14.3.1 HTTP和HTTPS協議  
14.3.2 同步GET請求方法  
14.3.3 異步GET請求方法  
14.3.4 POST請求方式  
14.3.5 調用REST Web Service的插入、修改和刪除方法  
14.4 使用輕量級網絡請求框架MKNetworkKit  
14.4.1 ASIHTTPRequest、AFNetworking和MKNetworkKit比較  
14.4.2 安裝和配置MKNetworkKit框架  
14.4.3 網絡請求  
14.4.4 下載數據  
14.4.5 上傳數據  
14.5 反饋網絡信息改善用戶體驗  
14.5.1 使用下拉刷新控件改善用戶體驗  
14.5.2 使用等待指示器控件  
14.5.3 使用網絡等待指示器  
14.6 小結  
第15章 定位服務與地圖應用  
15.1 定位服務  
15.1.1 定位服務編程  
15.1.2 地理信息反編碼  
15.1.3 地理信息編碼查詢  
15.1.4 關於定位服務的測試  
15.2 使用iOS蘋果地圖  
15.2.1 顯示地圖  
15.2.2 添加標注  
15.2.3 跟蹤用戶位置變化  
15.3 使用程序外地圖  
15.3.1 調用iOS蘋果地圖  
15.3.2 調用谷歌Web地圖  
15.4 小結  
第三部分 進階篇
第16章 升級?  
16.1 從iOS 6到iOS 7的升級  
16.1.1 iOS 7全新的扁平化設計  
16.1.2 屏幕適配問題  
16.1.3 iOS 7狀態欄隱藏  
16.1.4 iOS 7狀態欄樣式設置  
16.2 從Xcode 4到Xcode 5的升級  
16.2.1 ARC與MRC之爭  
16.2.2 故事板與xib之爭  
16.2.3 找回普通顯示屏的模擬器  
16.2.4 找回老版本的Interface Builder  
16.2.5 使用資源目錄管理圖片  
16.3 從iPhone 4到iPhone 5的升級  
16.3.1 屏幕適配問題  
16.3.2 從32位到64位的升級  
16.4 小結  
第17章 iOS中的商業模式  
17.1 收費策略  
17.1.1 iOS如何賺錢  
17.1.2 避免定價策略誤區  
17.1.3 免費軟件的藝術  
17.1.4 在適當的時間、適當的地點植入廣告  
17.1.5 嘗試不同的盈利模式  
17.2 使用蘋果iAd廣告  
17.2.1 橫幅廣告  
17.2.2 插頁廣告  
17.2.3 查看你的收入  
17.3 使用谷歌AdMob廣告  
17.3.1 注冊AdMob賬號和管理應用  
17.3.2 下載谷歌AdMob Ads SDK和示例代碼  
17.3.3 添加AdMob橫幅廣告  
17.3.4 添加AdMob插頁廣告  
17.3.5 為廣告提交用戶和位置信息  
17.3.6 搜索廣告  
17.3.7 查看你的收入  
17.4 應用內購買  
17.4.1 概述  
17.4.2 測試環境搭建  
17.4.3 在程序中實現應用內購買  
17.4.4 測試應用內購買  
17.5 小結  
第18章 找出程序中的bug--調試  
18.1 Xcode調試工具  
18.1.1 定位編譯錯誤  
18.1.2 查看和顯示日志  
18.1.3 設置和查看斷點  
18.1.4 調試工具欄  
18.1.5 輸出窗口  
18.1.6 變量查看窗口  
18.1.7 查看線程  
18.2 日志與斷言輸出  
18.2.1 使用NSLog函數  
18.2.2 使用NSAssert宏  
18.2.3 移除NSLog和NSAssert  
18.3 LLDB調試工具  
18.3.1 斷點命令  
18.3.2 觀察點命令  
18.3.3 查看變量和計算表達式命令  
18.4 異常堆棧報告分析  
18.4.1 跟蹤異常堆棧  
18.4.2 分析堆棧報告  
18.5 在iOS設備上調試  
18.5.1 創建開發者證書  
18.5.2 設備注冊  
18.5.3 創建App ID  
18.5.4 創建配置概要文件  
18.5.5 設備調試  
18.6 Xcode設備管理工具  
18.6.1 管理設備配置概要文件  
18.6.2 查看設備上的應用程序  
18.6.3 設備控制台  
18.6.4 設備日志  
18.7 小結  
第19章 測試驅動下的iOS應用開發  
19.1 測試驅動的軟件開發概述  
19.1.1 測試驅動的軟件開發流程  
19.1.2 測試驅動的軟件開發案例  
19.1.3 iOS 7單元測試框架  
19.2 使用XCTest測試框架  
19.2.1 添加XCTest到工程  
19.2.2 編寫XCTest測試方法  
19.2.3 運行測試程序  
19.2.4 分析測試報告  
19.3 iOS單元測試最佳實踐  
19.3.1 測試數據持久層  
19.3.2 測試業務邏輯層  
19.3.3 測試表示層  
19.4 小結  
第20章 讓你的程序「飛」起來--性能優化  
20.1 內存優化  
20.1.1 內存泄漏問題的解決  
20.1.2 查找和解決僵屍對象  
20.1.3  autorelease的使用問題  
20.1.4 響應內存警告  
20.1.5 選擇xib還是故事板  
20.2 優化資源文件  
20.2.1 圖片文件優化  
20.2.2 音頻文件優化  
20.3 延遲加載  
20.3.1 資源文件的延遲加載  
20.3.2 故事板和xib文件的延遲加載  
20.4 數據持久化的優化  
20.4.1 使用文件  
20.4.2 使用SQLite數據庫  
20.4.3 使用Core Data  
20.5 可重用對象的使用  
20.5.1 表視圖中的可重用對象  
20.5.2 集合視圖中的可重用對象  
20.5.3 地圖視圖中的可重用對象  
20.6 並發處理與多核CPU  
20.6.1 主線程阻塞問題  
20.6.2 選擇NSThread還是GCD  
20.7 編譯參數  
20.8 小結  
第21章 管理好你的程序代碼--代碼版本控制  
21.1 概述  
21.1.1 版本控制歷史  
21.1.2 基本概念  
21.2 Git代碼版本控制  
21.2.1 服務器搭建  
21.2.2 Gitolite服務器管理  
21.2.3 Git常用命令  
21.2.4 Git分支  
21.2.5 Git協同開發  
21.2.6 Xcode 5中Git的配置與使用  
21.3 GitHub代碼托管服務  
21.3.1 創建和配置GitHub賬號  
21.3.2 創建代碼庫  
21.3.3 派生代碼庫  
21.3.4 使用GitHub協同開發  
21.3.5 管理組織  
21.4 小結  
第22章 把你的應用放到App Store上  
22.1 收官  
22.1.1 在Xcode 5下添加圖標  
22.1.2 Xcode 5添加啟動界面  
22.1.3 調整Identity和Deployment Info屬性  
22.1.4 為發布進行編譯  
22.1.5 應用打包  
22.2 發布流程  
22.2.1 創建應用及基本信息  
22.2.2 應用定價信息  
22.2.3 最后的信息輸入  
22.2.4 上傳應用  
22.3 審核不通過的常見原因  
22.4 小結  
第四部分 實 戰 篇
第23章 重構MyNotes應用--iOS網絡通信中的設計模式與架構設計  
23.1 移動網絡通信應用的分層架構設計  
23.2 基於委托模式實現  
23.2.1 網絡通信與委托模式  
23.2.2 在異步網絡通信中使用委托模式實現分層架構設計  
23.2.3 類圖  
23.2.4 時序圖  
23.2.5 數據持久層重構  
23.2.6 業務邏輯層的代碼實現  
23.2.7 表示層的代碼實現  
23.3 基於觀察者模式的通知機制實現  
23.3.1 觀察者模式的通知機制回顧  
23.3.2 異步網絡通信中通知機制的分層架構設計  
23.3.3 類圖  
23.3.4 時序圖  
23.3.5 數據持久層的重構  
23.3.6 業務邏輯層的代碼實現  
23.3.7 表示層的代碼實現  
23.4 小結  
第24章 iOS敏捷開發項目實戰--2016里約熱內盧奧運會應用開發及App Store發布  
24.1 應用分析與設計  
24.1.1 應用概述  
24.1.2 需求分析  
24.1.3 原型設計  
24.1.4 數據庫設計  
24.1.5 架構設計  
24.2 iOS敏捷開發  
24.2.1 敏捷開發宣言  
24.2.2 iOS適合敏捷開發嗎  
24.2.3 iOS敏捷開發最佳實踐  
24.3 任務1:創建應用基本工作空間  
24.4 任務2:信息系統層與持久層開發  
24.4.1 迭代2.1:編寫數據庫DDL腳本  
24.4.2 迭代2.2:插入初始數據到數據庫  
24.4.3 迭代2.3:編寫實體類  
24.4.4 迭代2.4:DAO類XCTest單元測試  
24.4.5 迭代2.5:編寫DAO類  
24.4.6 迭代2.6:發布到GitHub  
24.5 任務3:業務邏輯層開發  
24.5.1 迭代3.1:比賽項目業務邏輯類XCTest單元測試  
24.5.2 迭代3.2:編寫比賽項目業務邏輯類  
24.5.3 迭代3.3:比賽日程業務邏輯類XCTest單元測試  
24.5.4 迭代3.4:編寫比賽日程業務邏輯類  
24.5.5 迭代3.5:發布到GitHub  
24.6 任務4:表示層開發  
24.6.1 迭代4.1:使用資源目錄管理圖片和圖標資源  
24.6.2 迭代4.3:根據原型設計初步設計iPad故事板  
24.6.3 迭代4.3:根據原型設計初步設計iPhone故事板  
24.6.4 迭代4.4:首頁模塊  
24.6.5 迭代4.5:比賽項目模塊  
24.6.6 迭代4.6:比賽日程模塊  
24.6.7 迭代4.7:倒計時模塊表示層  
24.6.8 迭代4.8:關於我們模塊表示層  
24.6.9 迭代4.9:發布到GitHub  
24.7 任務5:收工  
24.7.1 迭代5.1:添加圖標  
24.7.2 迭代5.2:設計和添加啟動界面  
24.7.3 迭代5.3:植入谷歌AdMob橫幅廣告  
24.7.4 迭代5.4:性能測試與改善  
24.7.5 迭代5.5:發布到GitHub  
24.7.6 迭代5.6:在App Store上發布應用  
24.8 小結 
網路書店 類別 折扣 價格
  1. 新書
    87
    $517