內容介紹
《清華開發者書庫:iOS網路編程與雲端套用最佳實踐》是介紹iOS 6網路編程和雲端套用開發技術書籍,介紹了蘋果網路、數據交換格式、Web Service、iCloud、定位服務、地圖、推送通知、Newsstand、套用內購買、Passbook、以及社交網路編程,還介紹了網路通信設計模式和架構設計。
圖書目錄
推薦序(一)Ⅰ
推薦序(二)Ⅲ
讚譽Ⅴ
前言Ⅶ
第1章開篇綜述
1.1本書結構
1.2本書中的約定
1.2.1實例代碼約定
1.2.2圖示的約定
網路基礎篇
第2章溝通無限——蘋果的網路
2.1網路結構
2.1.1客戶端伺服器結構網路
2.1.2對等結構網路
2.2基於Socket的C/S結構網路通信
2.2.1Socket概念
2.2.2Socket編程
2.2.3實例: NSStream&CFStream實現TCP Socket伺服器端
2.2.4實例: NSStream&CFStream實現TCP Socket客戶端
2.3Bonjour服務發現
2.3.1發布服務
2.3.2解析服務
2.3.3查找服務
2.3.4實例: 基於服務發現的Socket通信伺服器端
2.3.5實例: 基於服務發現的Socket通信客戶端
2.4對等結構網路
2.4.1使用Game Kit開發對等結構網路套用
2.4.2實例: 基於藍牙對等網路通信
本章小結
第3章數據交換格式
3.1XML數據交換格式
3.1.1文檔結構
3.1.2XML文檔解析與框架性能
3.1.3實例: MyNotes套用XML
3.2JSON數據交換格式
3.2.1文檔結構
3.2.2JSON數據編碼/解碼與框架性能
3.2.3實例: MyNotes套用JSON解碼
本章小結
雲 服 務 篇
第4章使用Web Service——基於客戶端伺服器結構網路通信
4.1REST Web Service
4.1.1HTTP和HTTPS協定
4.1.2同步GET方法請求編程
4.1.3異步GET方法請求編程
4.1.4POST方法請求編程
4.1.5實例: REST Web Service實現的MyNotes套用
4.2SOAP Web Service
4.2.1WSDL概念
4.2.2SOAP協定
4.2.3實例: SOAP Web Service實現MyNotes套用
4.3ASIHTTPRequest框架使用
4.3.1安裝和配置ASIHTTPRequest框架
4.3.2同步請求
4.3.3異步請求
4.3.4實例: 請求佇列套用
4.3.5實例: 上傳數據套用
4.4反饋網路信息改善用戶體驗
4.4.1iOS 6表視圖刷新控制項的使用
4.4.2使用等待指示器控制項
4.4.3使用網路等待指示器
4.4.4使用MBProgressHUD等待指示器
本章小結
第5章iCloud編程
5.1蘋果雲服務——iCloud
5.2配置iCloud
5.2.1創建App ID
5.2.2創建配置概要檔案
5.3iCloud數據存儲
5.3.1iCloud鍵值數據存儲
5.3.2iCloud文檔存儲
5.3.3iCloud存儲注意事項
5.4iCloud鍵值數據存儲編程
5.4.1實例: iCloud鍵值數據存儲設計
5.4.2配置Xcode工程
5.4.3代碼實現
5.5iCloud文檔存儲編程
5.5.1實例: iCloud文檔存儲編程設計
5.5.2配置Xcode工程
5.5.3自定義文檔類
5.5.4獲得iCloud文檔目錄
5.5.5查找Ubiquity容器中的文檔
5.5.6保存文檔
5.5.7解決文檔衝突
5.6在iCloud下使用Core Data技術
5.6.1實例: iCloud Core Data編程設計
5.6.2使用Xcode創建Core Data工程
5.6.3創建持久化存儲協調者
5.6.4創建被管理的對象上下文
5.6.5合併iCloud與本地數據
本章小結
社交篇
第6章社交網路編程
6.1蘋果公司的社交網路
6.1.1設定賬戶信息
6.1.2社交網路編程API
6.2iOS 6分享列表——UIActivityViewController
6.2.1內置活動列表項
6.2.2自定義活動列表項
6.3撰寫視圖控制器——SLComposeViewController
6.4編寫自己的社交網路客戶端
6.4.1實例: 編寫新浪微部落格戶端
6.4.2實例: 編寫Twitter客戶端
6.4.3實例: 編寫Facebook客戶端
本章小結
第7章定位服務與地圖套用開發
7.1定位服務
7.1.1定位服務編程
7.1.2地理信息反編碼
7.1.3地理信息編碼查詢
7.1.4關於定位服務的測試
7.2使用iOS 6蘋果地圖
7.2.1顯示地圖
7.2.2添加標註
7.2.3跟蹤用戶位置變化
7.3使用程式外地圖
7.3.1調用iOS 6蘋果地圖
7.3.2調用谷歌Web地圖
7.4使用本地化的百度地圖
7.4.1百度地圖的安裝與初始化
7.4.2顯示地圖
7.4.3地理信息編碼與反編碼
7.4.4添加標註點
本章小結
電子商務篇
第8章發布你的促銷信息——推送通知
8.1蘋果中究竟有多少個“通知”
8.1.1廣播通知
8.1.2本地通知
8.1.3推送通知
8.2配置推送通知
8.2.1證書籤名請求
8.2.2配置套用推送通知
8.2.3生成SSL證書
8.2.4為SSL證書導出p12檔案
8.3iOS客戶端編程
8.3.1配置Xcode工程
8.3.2代碼實現
8.4推送服務端編程
8.4.1使用PHP實現推送服務
8.4.2使用Java推送服務
本章小結
第9章報刊雜誌——Newsstand套用編程
9.1iOS 5中Newsstand套用
9.2Newsstand套用編程
9.2.1配置Newsstand
9.2.2使用Newsstand Kit API
9.3實例: MyNewsstand雜誌套用
9.3.1實例設計原型草圖
9.3.2實例設計類圖
9.3.3初始化雜誌畫面
9.3.4主動式下載資源
9.3.5後台下載資源
9.3.6斷點續傳
9.3.7讀取雜誌內容
本章小結
第10章套用內購買
10.1套用內購買實例設計
10.2測試環境搭建
10.2.1添加測試用戶
10.2.2創建App ID
10.2.3添加空白套用
10.2.4為套用添加購買產品信息
10.3伺服器產品類型套用內購買
10.3.1工作流程
10.3.2實例: 套用內購買iOS客戶端
10.3.3實例: PHP實現的伺服器端
本章小結
第11章iOS 6 Passbook套用開發
11.1Passbook與Pass
11.1.1Pass的5種風格
11.1.2Pass的內部結構
11.2設計Pass
11.2.1pass.json檔案結構
11.2.2Pass類型和欄位
11.2.3二維條形碼
11.2.4位置與時間
11.2.5本地化
11.2.6圖示和圖片的使用
11.3創建Pass
11.3.1創建Pass證書
11.3.2數字簽名與打包Pass檔案
11.4發布Pass
11.4.1Email發布
11.4.2Web網站發布
11.5Pass Kit編程
11.5.1實例: MyPass實例設計與說明
11.5.2準備工作
11.5.3訪問Passbook
11.5.4添加與替換Pass
11.5.5刪除Pass
本章小結
實戰篇
第12章重構MyNotes套用——iOS網路通信中的設計模式與架構設計
12.1行動網路通信套用的分層架構設計
12.2基於委託模式實現
12.2.1網路通信與委託模式
12.2.2異步網路通信中委託模式實現分層架構設計
12.2.3類圖
12.2.4時序圖
12.2.5數據持久層代碼實現
12.2.6業務邏輯層代碼實現
12.2.7表示層代碼實現
12.3基於觀察者模式通知機制實現
12.3.1觀察者模式的通知機制回顧
12.3.2異步網路通信中通知機制實現分層架構設計
12.3.3類圖
12.3.4時序圖
12.3.5數據持久層代碼實現
12.3.6業務邏輯層代碼實現
12.3.7表示層代碼實現
本章小結
第13章iOS敏捷開發項目實戰——價格線酒店預訂iPhone客戶端開發
13.1套用分析與設計
13.1.1套用概述
13.1.2需求分析
13.1.3原型設計
13.1.4架構設計
13.2iOS敏捷開發
13.2.1敏捷開發宣言
13.2.2iOS可以敏捷開發
13.2.3iOS敏捷開發一般過程
13.3任務1: 創建套用基本工作空間
13.3.1疊代1.1創建業務邏輯層工程
13.3.2疊代1.2創建表示層工程
13.4任務2: 業務邏輯層開發
13.4.1疊代2.1編寫搜尋酒店的業務邏輯層類
13.4.2疊代2.2編寫房間查詢業務邏輯類
13.5任務3: 表示層開發
13.5.1疊代3.1根據原型設計初步設計故事板
13.5.2疊代3.2搜尋酒店模組
13.5.3疊代3.2.1選擇城市視圖控制器
13.5.4疊代3.2.2選擇關鍵字視圖控制器
13.5.5疊代3.2.3選擇價格和日期拾取器
13.5.6疊代3.2.4酒店搜尋視圖控制器
13.5.7疊代3.2.5酒店搜尋列表視圖控制器
13.5.8疊代3.3房間查詢模組
本章小結