iOS開發進階

iOS開發進階
基本信息
做者: 唐巧
出版社:電子工業出版社
ISBN:9787121247453
上架時間:2014-12-26
出版日期:2015 年1月
開本:16開
頁碼:268
版次:1-1git

 


內容簡介
    計算機書籍
iOS開發進階》分工具、實踐、理論三大部分。第一部分介紹iOS 開發的經常使用工具,第二部分介紹iOS開發中的一些常見的實踐經驗,第三部分介紹iOS 開發中涉及的原理。
若是把成爲iOS 開發高手的過程比做武俠小說中的修煉過程的話,工具、實踐和理論的學習就分別對應兵器、招式和內功的修煉。《iOS開發進階》但願經過這三方面的綜合講解,全面提升開發者的技能水平。
目錄
iOS開發進階
推薦序 iii
第1 章引言 1
1.1 我爲何要寫本書1
1.1.1 個人構思1
1.1.2 內容導讀1
1.1.3 目標讀者2
1.1.4 隨書示例代碼和勘誤2
1.1.5 致謝2
1.2 如何提升iOS 開發技能3
1.2.1 閱讀博客3
1.2.2 讀書3
1.2.3 看WWDC 視頻4
1.2.4 看蘋果的官方文檔4
1.2.5 看開源項目的代碼4
1.2.6 多寫代碼,多思考4
1.2.7 多和同行交流5
1.2.8 分享5
I 第一部分:iOS 開發工具
第2 章使用CocoaPods 作依賴管理 9
2.1 CocoaPods 簡介9
2.2 CocoaPods 的安裝和使用10
2.2.1 CocoaPods 的安裝10
2.2.2 使用CocoaPods 的鏡像索引10
2.2.3 使用CocoaPods 11
2.2.4 查找第三方庫11
2.3 注意事項12
2.3.1 關於.gitignore 12
2.3.2 爲本身的項目建立podspec 文件12
2.3.3 使用私有的pods 12
2.3.4 不更新podspec 12
2.3.5 生成第三方庫的幫助文檔13
2.3.6 原理13
第3 章網絡封包分析工具Charles 15
3.1 Charles 簡介15
3.2 Charles 的安裝和使用16
3.2.1 安裝Charles 16
3.2.2 安裝SSL 證書16
3.2.3 將Charles 設置成系統代理17
3.2.4 Charles 主界面介紹18
3.2.5 過濾網絡請求18
3.3 使用Charles 協助iOS 開發19
3.3.1 截取iPhone 上的網絡封包19
3.3.2 模擬慢速網絡21
3.4 高級功能22
3.4.1 截取SSL 信息22
3.4.2 修改網絡請求內容23
3.4.3 修改服務器返回內容25
3.5 Map 功能25
3.6 Rewrite 功能27
3.7 Breakpoints 功能29
3.8 總結30
3.9 參考連接30
第4 章界面調試工具Reveal 31
4.1 Reveal 簡介31
4.2 Reveal 的使用32
4.2.1 用Reveal 鏈接模擬器調試32
4.2.2 用Reveal 鏈接真機調試34
4.2.3 用Reveal 調試其餘應用界面34
4.2.4 總結35
4.2.5 參考資料36
第5 章移動統計工具Flurry 37
5.1 Flurry 簡介37
5.2 Flurry 的基本使用38
5.2.1 註冊和下載對應SDK 38
5.2.2 集成SDK 40
5.2.3 自定義統計項42
5.2.4 查看統計結果43
5.2.5 統計Crashlog 44
5.3 對比和總結45
5.3.1 和其餘統計分析平臺的對比45
5.3.2 總結45
第6 章崩潰日誌記錄工具Crashlytics 47
6.1 Crashlytics 簡介47
6.2 Crashlytics 的使用49
6.3 實現原理和使用體會52
第7 章App Store 統計工具App Annie 55
7.1 App Annie 簡介55
7.2 App Annie 的使用56
7.3 App Annie 帳號的註冊及配置59
7.4 和其餘工具的對比60
7.4.1 官方的命令行工具60
7.4.2 其餘相似服務61
7.4.3 功能對比61
第8 章Xcode 插件 63
8.1 Xcode 插件管理工具Alcatraz 63
8.1.1 簡介63
8.1.2 安裝和刪除64
8.1.3 使用64
8.1.4 插件路徑66
8.2 關於Xcode 的插件機制66
8.3 經常使用Xcode 插件66
8.3.1 KSImageNamed 66
8.3.2 XVim 67
8.3.3 FuzzyAutocompletePlugin 67
8.3.4 XToDo 67
8.3.5 BBUDebuggerTuckAway 68
8.3.6 SCXcodeSwitchExpander 68
8.3.7 deriveddata-exterminator 68
8.3.8 VVDocumenter 69
8.3.9 ClangFormat 69
8.3.10 ColorSense 69
8.3.11 XcodeBoost 70
第9 章其餘工具介紹 71
9.1 取色工具:數碼測色計(DigitalColor Meter) 71
9.1.1 前言71
9.1.2 使用介紹71
9.1.3 其餘相似工具:xScope 72
9.2 其餘圖形工具73
9.2.1 ImageOptim 73
9.2.2 馬克鰻74
9.2.3 Dash 74
9.2.4 蒲公英75
9.3 命令行工具75
9.3.1 nomad 75
9.3.2 xctool 76
9.3.3 appledoc 76
II 第二部分:iOS 開發實踐
第10 章理解內存管理 81
10.1 引用計數81
10.1.1 什麼是引用計數,原理是什麼81
10.1.2 咱們爲何須要引用計數83
10.1.3 不要向已經釋放的對象發送消息85
10.1.4 循環引用(reference cycles)問題85
10.1.5 使用Xcode 檢測循環引用88
10.2 使用ARC 90
10.2.1 Automatic Reference Count 90
10.2.2 Core Foundation 對象的內存管理92
第11 章掌握GCD 95
11.1 GCD 簡介95
11.2 使用GCD 97
11.2.1 block 的定義97
11.2.2 系統提供的dispatch 方法98
11.2.3 修改block 以外的變量99
11.2.4 後臺運行99
11.2.5 總結100
第12 章使用UIWindow 101
12.1 UIWindow 簡介101
12.2 爲UIWindow 增長UIView 102
12.3 系統對UIWindow 的使用102
12.3.1 WindowLevel 104
12.3.2 手工建立UIWindow 105
12.3.3 不要濫用UIWindow 108
12.3.4 參考資料109
第13 章動態下載系統提供的多種中文字體 111
13.1 功能簡介111
13.1.1 前言111
13.1.2 功能介紹112
13.1.3 字體列表112
13.2 使用教程113
13.2.1 相關API 介紹113
13.2.2 總結115
第14 章使用應用內支付 117
14.1 後臺設置117
14.2 iOS 端開發119
14.3 服務端開發121
14.4 注意事項122
第15 章基於UIWebView 的混合編程 123
15.1 混合編程簡介123
15.2 使用模板引擎渲染HTML 界面124
15.3 Objective-C 語言和JavaScript 語言相互調用126
15.4 如何傳遞參數129
15.5 同步和異步129
15.6 注意事項130
15.6.1 線程阻塞問題130
15.6.2 主線程的問題130
15.6.3 鍵盤控制130
15.6.4 CommonJS 規範130
15.7 使用Safari 進行調試131
第16 章安全性問題 135
16.1 前言135
16.2 網絡安全135
16.2.1 安全地傳輸用戶密碼135
16.2.2 防止通信協議被輕易破解137
16.2.3 驗證應用內支付的憑證138
16.3 本地文件和數據安全138
16.3.1 程序文件的安全138
16.3.2 本地數據安全140
16.4 源代碼安全140
16.5 總結142
第17 章基於CoreText 的排版引擎 143
17.1 CoreText 簡介143
17.2 基於CoreText 的基礎排版引擎145
第18 章實戰技巧 181
18.1 App Store 與審覈181
18.1.1 撤銷正在審覈的應用181
18.1.2 申請加急審覈181
18.1.3 應用在市場的名字182
18.1.4 測試設備數的限制182
18.1.5 如何將應用下架183
18.1.6 如何舉報別的應用侵權183
18.1.7 iTunes Connect 後臺操做出錯184
18.1.8 Metadata Reject 184
18.2 開發技巧184
18.2.1 UILabel 內容模糊184
18.2.2 收起鍵盤184
18.2.3 NSJSONSerialization 比NSKeyedArchiver 更好185
18.2.4 設置應用內的系統控件語言185
18.2.5 爲何viewDidUnload 被廢棄188
18.2.6 多人協做慎用Storyboard 189
18.2.7 避免濫用block 190
18.2.8 合併工程文件的衝突192
18.2.9 忽略編譯警告193
18.3 Xcode 使用技巧193
18.3.1 Xcode 快捷鍵193
18.3.2 查找技巧195
18.3.3 JavaScript 文件設置調整195
18.3.4 清除DerivedData 196
18.3.5 target 信息異常197
18.3.6 下載Xcode 197
18.4 調試技巧197
18.4.1 模擬器快捷鍵197
18.4.2 覆蓋安裝注意事項197
18.4.3 給模擬器相冊增長圖片198
18.4.4 得到模擬器中的程序數據198
18.4.5 安裝舊版本的模擬器199
18.4.6 模擬慢速網絡199
18.4.7 異常斷點與符號斷點199
18.5 ipa 文件格式199
18.5.1 查看ipa 的內容199
18.5.2 查看ipa 中的圖片200
18.6 爲工程增長Daily Build 201
18.6.1 前言201
18.6.2 步驟201
18.6.3 遇到的問題206
18.6.4 總結206
18.7 使用腳本提升開發效率206
18.7.1 刪除未使用的圖片資源206
18.7.2 用腳本自動生成小尺寸的圖片207
18.7.3 檢查圖片208
18.8 管理代碼片斷209
18.8.1 代碼片斷介紹209
18.8.2 定義本身的代碼片斷210
18.8.3 使用Git 管理代碼片斷211
18.8.4 其餘代碼片斷管理工具211
III 第三部分:iOS 開發底層原理
第19 章Objective-C 對象模型 215
19.1 簡介215
19.2 isa 指針215
19.3 類的成員變量217
19.4 對象模型的應用220
19.4.1 動態建立對象220
19.4.2 系統相關API 及應用222
19.4.3 參考文獻226
第20 章Tagged Pointer 對象 227
20.1 原有系統的問題227
20.2 Tagged Pointer 介紹228
20.2.1 Tagged Pointer 228
20.2.2 特色230
20.3 注意事項和實現細節231
20.3.1 isa 指針231
20.3.2 64 位下的isa 指針優化231
20.3.3 isa 的bit 位含義232
20.3.4 總結233
20.3.5 參考文獻233
第21 章block 對象模型 235
21.1 block 的內部數據結構定義235
21.2 用clang 分析block 實現237
21.2.1 NSConcreteMallocBlock 類型的block 的實現242
21.2.2 變量的複製243
21.3 注意事項243
21.3.1 避免循環引用243
21.3.2 ARC 對block 類型的影響244編程

相關文章
相關標籤/搜索