iOS開發指南 從Hello World到App Store上架 第4版

iOS開發指南 從Hello World到App Store上架 第4版 下載 mobi epub pdf 電子書 2025

關東升 著
圖書標籤:
  • iOS開發
  • Swift
  • Objective-C
  • Xcode
  • App Store
  • 移動開發
  • 編程
  • 技術
  • 教程
  • iOS
  • 應用程序
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115423184
版次:4
商品編碼:11976900
包裝:平裝
叢書名: 圖靈原創
開本:16開
齣版時間:2016-06-01
用紙:膠版紙
頁數:802
正文語種:中文

具體描述

産品特色


編輯推薦

暢銷書全新升級,纍計印數60000冊
Swift和Objective-C雙語講解
新增通過代碼構建界麵、UI測試、AFNetworking和Alamofire、CocoaPods和Carthage等
數百個項目案例+兩個真實項目開發全過程
涵蓋iOS平颱架構設計、測試驅動開發、性能優化、版本控製和程序調試等

內容簡介

本書是iOS開發傑齣指南,分5部分講解如何從零起步編寫並上綫iOS應用。首部分介紹iOS開發基礎知識,包括界麵構建技術、基本控件、協議、錶視圖、屏幕適配、導航、分屏多任務等。第二部分介紹設計與架構的相關知識,包括設計模式、分層模式、本地數據持久化等。第三部分為進階篇,包括設置與配置、本地化、Contacts與ContactsUI框架、數據交換格式、Web Service、定位服務、蘋果地圖等內容。第四部分介紹測試、調試和優化等相關知識。第五部分為實戰篇,涵蓋代碼版本管理、項目依賴管理、App Store發布流程,以及兩個真實iOS應用的分析設計、編程、測試與分布過程。本書同時提供Swift和Objective-C兩版代碼。

本書適閤所有iOS開發人員學習參考。

作者簡介

國內傑齣iOS和Cocos技術作傢、iOS技術顧問、Cocos有價值專傢(CVP)、智捷課堂首席培訓專傢、51CTO社區iOS技術顧問。他精通iOS、Android和Windows及HTML5等移動開發技術,擅長應用和遊戲類項目開發,曾先後主持開發:大型網絡遊戲《神農訣》的iOS和Android客戶端,國傢農産品追溯係統的iPad客戶端,酒店預訂係統的iOS客戶端,金融係統的iOS、Windows及Android客戶端。與此同時,他長期為中國移動研究院、方正科技、大唐電信、中國石油、工商銀行、南方航空、惠普、東軟集團、NTT等企事業單位提供技術谘詢及員工培訓。

目錄

第一部分 基 礎 篇
第1章 開篇綜述 2
1.1 iOS概述 2
1.1.1 iOS介紹 2
1.1.2 iOS 9新特性 2
1.2 開發環境及開發工具 3
1.3 本書約定 4
1.3.1 案例代碼約定 4
1.3.2 圖示的約定 5
1.3.3 方法命名約定 6
1.3.4 構造函數命名約定 7
1.3.5 錯誤處理約定 8
第2章 第一個iOS應用程序 10
2.1 創建HelloWorld工程 10
2.1.1 創建工程 10
2.1.2 Xcode中的iOS工程模闆 14
2.1.3 應用剖析 15
2.2 應用生命周期 17
2.2.1 非運行狀態——應用啓動場景 19
2.2.2 點擊Home鍵——應用退齣場景 20
2.2.3 掛起重新運行場景 22
2.2.4 內存清除:應用終止場景 23
2.3 設置産品屬性 23
2.3.1 Xcode中的工程和目標 23
2.3.2 設置常用的産品屬性 26
2.4 iOS API簡介 27
2.4.1 API概述 27
2.4.2 如何使用API幫助 29
2.5 小結 32
第3章 Cocoa Touch框架與構建應用界麵 33
3.1 視圖控製器 33
3.1.1 視圖控製器種類 33
3.1.2 視圖的生命周期 33
3.2 視圖 35
3.2.1 UIView繼承層次結構 35
3.2.2 視圖分類 37
3.2.3 應用界麵構建層次 37
3.3 使用故事闆構建界麵 38
3.3.1 什麼是故事闆 39
3.3.2 場景和過渡 41
3.4 使用XIB文件構建界麵 42
3.4.1 重構HelloWorld 42
3.4.2 XIB與故事闆比較 45
3.5 使用純代碼構建界麵 45
3.5.1 重構HelloWorld 46
3.5.2 視圖的幾個重要屬性 47
3.6 3種構建界麵技術討論 49
3.6.1 所見即所得 49
3.6.2 原型驅動開發 49
3.6.3 團隊協同開發 49
3.7 小結 50
第4章 UIView與視圖 51
4.1 標簽與按鈕 51
4.1.1 Interface Builder實現 51
4.1.2 代碼實現 55
4.2 事件處理 56
4.2.1 Interface Builder實現 56
4.2.2 代碼實現 59
4.3 訪問視圖 60
4.3.1 Interface Builder實現 60
4.3.2 代碼實現 62
4.4 TextField和TextView 63
4.4.1 Interface Builder實現 64
4.4.2 代碼實現 65
4.4.3 鍵盤的打開和關閉 67
4.4.4 關閉和打開鍵盤的通知 68
4.4.5 鍵盤的種類 69
4.5 開關控件、分段控件和滑塊控件 70
4.5.1 開關控件 71
4.5.2 分段控件 72
4.5.3 滑塊控件 74
4.6 Web視圖:WKWebView類 76
4.7 警告框和操作錶 80
4.7.1 UIAlertController實現警告框 81
4.7.2 UIAlertController實現操作錶 83
4.8 等待相關的控件與進度條 84
4.8.1 活動指示器ActivityIndicatorView 85
4.8.2 進度條ProgressView 87
4.9 工具欄和導航欄 90
4.9.1 工具欄 90
4.9.2 導航欄 94
4.10 小結 98
第5章 委托協議、數據源協議與高級視圖 99
5.1 視圖中的委托協議和數據源協議 99
5.2 選擇器 99
5.2.1 日期選擇器 99
5.2.2 普通選擇器 104
5.2.3 數據源協議與委托協議 109
5.3 集閤視圖 111
5.4 實例:Interface Builder實現奧運會比賽
項目 112
5.4.1 添加集閤視圖 113
5.4.2 添加集閤視圖單元格 114
5.4.3 數據源協議與委托協議 118
5.5 實例:代碼實現奧運會比賽項目 120
5.5.1 添加集閤視圖 120
5.5.2 自定義集閤視圖單元格 122
5.6 小結 123
第6章 錶視圖 124
6.1 概述 124
6.1.1 錶視圖的組成 124
6.1.2 錶視圖的相關類 125
6.1.3 錶視圖分類 125
6.1.4 單元格的組成和樣式 127
6.1.5 數據源協議與委托協議 129
6.2 簡單錶視圖 129
6.2.1 實現協議方法 130
6.2.2 UIViewController根視圖控製器 130
6.2.3 UITableViewController根視圖
控製器 137
6.3 自定義錶視圖單元格 140
6.3.1 Interface Builder實現 141
6.3.2 代碼實現 145
6.4 添加搜索欄 146
6.5 分節錶視圖 150
6.5.1 添加索引 150
6.5.2 分組 153
6.6 靜態錶與界麵布局 154
6.7 插入和刪除單元格 160
6.7.1 Interface Builder實現 162
6.7.2 代碼實現 167
6.8 移動單元格 169
6.9 錶視圖UI設計模式 171
6.9.1 分頁模式 171
6.9.2 下拉刷新模式 171
6.9.3 下拉刷新控件 172
6.10 小結 174
第7章 界麵布局與屏幕適配 175
7.1 界麵布局概述 175
7.2 iOS界麵布局設計模式 176
7.2.1 錶單布局模式 176
7.2.2 列錶布局模式 176
7.2.3 網格布局模式 177
7.3 傳統布局技術 177
7.4 Auto Layout布局技術 179
7.4.1 Interface Builder中管理Auto Layout
約束 179
7.4.2 實例:Auto Layout布局 180
7.5 iOS 9堆視圖StackView 185
7.5.1 堆視圖與布局 185
7.5.2 實例:堆視圖布局 186
7.6 iOS 屏幕的多樣性 191
7.6.1 iOS屏幕介紹 191
7.6.2 iOS的3種分辨率 192
7.6.3 獲得iOS設備屏幕信息 193
7.7 Size Class與iOS多屏幕適配 194
7.7.1 Interface Builder中使用Size Class 195
7.7.2 Size Class的九宮格 195
7.7.3 實例:使用Size Class 196
7.8 資源目錄與圖片資源適配 201
7.9 小結 204
第8章 視圖控製器與導航模式 205
8.1 概述 205
8.1.1 視圖控製器的種類 205
8.1.2 導航模式 205
8.2 模態視圖 207
8.2.1 Interface Builder實現 208
8.2.2 代碼實現 214
8.3 平鋪導航 215
8.3.1 應用場景 215
8.3.2 基於分屏導航的實現 217
8.3.3 基於電子書導航的實現 223
8.4 標簽導航 228
8.4.1 應用場景 229
8.4.2 Interface Builder實現 230
8.4.3 代碼實現 234
8.5 樹形結構導航 235
8.5.1 應用場景 235
8.5.2 Interface Builder實現 236
8.5.3 代碼實現 244
8.6 組閤使用導航模式 245
8.6.1 應用場景 246
8.6.2 Interface Builder實現 246
8.6.3 代碼實現 254
8.7 小結 257
第9章 iPad應用開發 258
9.1 iPad與iPhone應用開發的差異 258
9.1.1 應用場景不同 258
9.1.2 導航模式不同 258
9.1.3 API不同 258
9.2 iPad樹形結構導航 259
9.2.1 郵件應用中的樹形結構導航 259
9.2.2 Master-Detail應用程序模闆 260
9.2.3 Interface Builder實現SplitViewSample案例 266
9.2.4 代碼實現SplitViewSample案例 270
9.3 iPad模態視圖 273
9.3.1 郵件應用中的模態導航 273
9.3.2 iPad模態導航相關API 275
9.3.3 Interface Builder實現ModalView-
Sample案例 277
9.3.4 代碼實現ModalViewSample案例 281
9.4 Popover(浮動層)視圖 284
9.4.1 Popover相關API 284
9.4.2 PopoverViewSample案例 285
9.5 iOS 9分屏多任務 289
9.5.1 Slide Over多任務 289
9.5.2 分屏視圖多任務 290
9.5.3 畫中畫多任務 293
9.6 iPad分屏多任務適配開發 293
9.6.1 分屏多任務前提條件 293
9.6.2 分屏多任務適配 294
9.7 小結 295
第二部分 設計與架構篇
第10章 iOS常用設計模式 298
10.1 單例模式 298
10.1.1 問題提齣 298
10.1.2 Objective-C實現原理 298
10.1.3 Swift實現原理 299
10.1.4 應用案例 300
10.2 委托模式 301
10.2.1 問題提齣 301
10.2.2 實現原理 303
10.2.3 應用案例 306
10.3 觀察者模式 309
10.3.1 問題提齣 309
10.3.2 實現原理 310
10.3.3 通知機製和KVO機製 311
10.4 再談MVC模式 317
10.4.1 MVC模式概述 317
10.4.2 Cocoa Touch中的MVC模式 318
10.5 小結 320
第11章 iOS分層架構設計 321
11.1 低耦閤企業級係統架構設計 321
11.2 iOS分層架構設計 322
11.2.1 工程與工作空間 322
11.2.2 靜態鏈接庫 323
11.2.3 框架 323
11.2.4 16種分層模式 324
11.3 實例:MyNotes應用 325
11.4 基於同一工程的分層 327
11.4.1 采用純Swift語言實現:PSSS
模式 327
11.4.2 采用純Objective-C語言實現:
POOO模式 330
11.4.3 采用Swift調用Objective-C的
混閤搭配實現:PSOO模式 334
11.5 基於同一工作空間靜態鏈接庫實現的WLSOO
模式 335
11.5.1 使用工作空間 335
11.5.2 添加數據持久層工程 336
11.5.3 建立業務邏輯層與數據持久層依賴
關係 337
11.5.4 建立錶示層與業務邏輯層依賴
關係 339
11.6 基於同一工作空間框架實現的WFSSS
模式 339
11.6.1 創建框架工程 340
11.6.2 建立依賴關係 341
11.6.3 代碼重構 342
11.7 基於同一工作空間框架實現的WFOOO
模式 344
11.7.1 設置Public頭文件 344
11.7.2 設置保護傘頭文件 345
11.7.3 代碼重構 345
11.8 基於同一工作空間框架實現的WFSOO
模式 346
11.8.1 設置Public頭文件 346
11.8.2 設置保護傘頭文件 346
11.8.3 建立錶示層與業務邏輯層依賴
關係 346
11.8.4 代碼重構 346
11.9 基於同一工作空間框架實現的WFOSS
模式 346
11.9.1 設置Public頭文件 346
11.9.2 設置Swift代碼嵌入應用 347
11.9.3 代碼重構 347
11.10 基於同一個工程不同目標框架實現的
TFSOO模式 348
11.10.1 使用目標 348
11.10.2 添加框架目標 348
11.11 小結 349
第12章 數據持久化 350
12.1 概述 350
12.1.1 沙箱目錄 350
12.1.2 持久化方式 351
12.2 屬性列錶 351
12.3 對象歸檔 357
12.4 使用SQLite數據庫 361
12.4.1 SQLite數據類型 361
12.4.2 配置Objective-C框架工程環境 362
12.4.3 配置Swift框架工程環境 362
12.4.4 創建數據庫 364
12.4.5 查詢數據 365
12.4.6 修改數據 368
12.5 Core Data 370
12.5.1 ORM 370
12.5.2 Core Data棧 371
12.5.3 建模和生成實體 374
12.5.4 采用Core Data分層架構設計 380
12.5.5 查詢數據 382
12.5.6 修改數據 384
12.6 小結 385
第三部分 進 階 篇
第13章 應用程序設置 388
13.1 概述 388
13.1.1 設置 388
13.1.2 配置 389
13.2 應用程序設置包 390
13.3 設置項目種類 392
13.3.1 文本字段 395
13.3.2 開關 398
13.3.3 滑塊 399
13.3.4 值列錶 400
13.3.5 子界麵 401
13.4 讀取設置 403
13.5 小結 405
第14章 本地化 406
14.1 概述 406
14.1.1 需要本地化的內容 406
14.1.2 本地化目錄結構 409
14.2 文本信息本地化 410
14.2.1 係統按鈕和信息本地化 410
14.2.2 應用名稱本地化 411
14.2.3 程序代碼輸齣的靜態文本本地化 413
14.2.4 使用genstring工具 414
14.3 故事闆和XIB文件本地化 415
14.3.1 使用Base Internationalization技術 415
14.3.2 Auto Layout與本地化 417
14.4 資源文件本地化 419
14.4.1 圖片資源文件本地化 419
14.4.2 聲音資源文件本地化 420
14.5 小結 421
第15章 iOS 9中訪問通訊錄 422
15.1 通訊錄的安全訪問設置 422
15.2 使用Contacts框架讀取聯係人信息 423
15.2.1 查詢聯係人 423
15.2.2 讀取單值屬性 426
15.2.3 讀取多值屬性 428
15.2.4 讀取圖片屬性 430
15.3 使用Contacts框架寫入聯係人信息 430
15.3.1 創建聯係人 431
15.3.2 修改聯係人 433
15.3.3 刪除聯係人 434
15.4 使用係統提供界麵 435
15.4.1 選擇聯係人 435
15.4.2 顯示和修改聯係人 438
15.4.3 創建聯係人 441
15.5 小結 444
第16章 數據交換格式 445
16.1 XML數據交換格式 446
16.1.1 XML文檔結構 446
16.1.2 解析XML文檔 447
16.2 實例:MyNotes應用XML 448
16.2.1 使用NSXML解析 450
16.2.2 使用TBXML解析 453
16.3 JSON數據交換格式 459
16.3.1 JSON文檔結構 459
16.3.2 JSON數據編碼/解碼 460
16.4 實例:MyNotes應用JSON解碼 461
16.5 小結 462
第17章 REST Web Service 463
17.1 概述 463
17.2 使用NSURLSession 464
17.2.1 NSURLSession API 464
17.2.2 簡單會話實現GET請求 465
17.2.3 默認會話實現GET請求 468
17.2.4 實現POST請求 469
17.2.5 下載數據 470
17.3 實例:使用NSURLSession重構MyNotes
案例 473
17.3.1 插入方法調用 473
17.3.2 修改方法調用 474
17.3.3 刪除方法調用 475
17.4 使用AFNetworking框架 477
17.4.1 比較ASIHTTPRequest、
AFNetworking和MKNetworkKit 477
17.4.2 安裝和配置AFNetworking框架 478
17.4.3 實現GET請求 479
17.4.4 實現POST請求 480
17.4.5 下載數據 481
17.4.6 上傳數據 482
17.5 使用為Swift設計的網絡框架:
Alamofire 484
17.5.1 安裝和配置Alamofire框架 484
17.5.2 實現GET請求 485
17.5.3 實現POST請求 486
17.5.4 下載數據 487
17.5.5 上傳數據 488
17.6 反饋網絡信息改善用戶體驗 489
17.6.1 使用下拉刷新控件改善用戶體驗 489
17.6.2 使用活動指示器控件 492
17.6.3 使用網絡活動指示器 494
17.7 小結 494
第18章 定位服務 495
18.1 定位服務概述 495
18.1.1 定位服務編程 496
18.1.2 測試定位服務 499
18.2 管理定位服務 503
18.2.1 應用啓動與停止下的定位服務
管理 504
18.2.2 視圖切換下的定位服務管理 504
18.2.3 應用前後颱切換下的定位服務
管理 505
18.2.4 設置自動暫停位置服務 507
18.2.5 iOS 9後颱位置服務管理 507
18.3 地理信息編碼與反編碼 508
18.3.1 地理信息反編碼 508
18.3.2 實例:地理信息反編碼 509
18.3.3 地理信息編碼查詢 510
18.3.4 實例:地理信息編碼查詢 510
18.4 微定位技術iBeacon 512
18.4.1 微定位與地理圍欄 512
18.4.2 iBeacon技術概述 512
18.4.3 實例:使用iBeacon技術實現微
定位 513
18.5 小結 519
第19章 蘋果地圖應用 520
19.1 使用iOS蘋果地圖 520
19.1.1 顯示地圖 520
19.1.2 顯示3D地圖 524
19.2 添加標注 525
19.2.1 實現查詢 526
19.2.2 在地圖上添加標注 528
19.3 跟蹤用戶位置變化 529
19.4 使用程序外地圖 530
19.5 小結 533
第四部分 測試、調試和優化篇
第20章 找齣程序中的bug——調試 536
20.1 Xcode調試工具 536
20.1.1 定位編譯錯誤 536
20.1.2 查看和顯示日誌 537
20.1.3 設置和查看斷點 539
20.1.4 調試工具 544
20.1.5 輸齣窗口 545
20.1.6 變量查看窗口 546
20.1.7 查看綫程 547
20.2 LLDB調試工具 548
20.2.1 斷點命令 548
20.2.2 觀察點命令 550
20.2.3 查看變量和計算錶達式命令 552
20.3 日誌與斷言輸齣 554
20.3.1 使用NSLog函數 554
20.3.2 使用斷言 555
20.4 異常棧報告分析 556
20.4.1 跟蹤異常棧 556
20.4.2 分析棧報告 558
20.5 在iOS設備上調試 559
20.5.1 Xcode設置 559
20.5.2 設備設置 560
20.6 Xcode設備管理工具 562
20.6.1 查看設備上的應用程序 562
20.6.2 設備日誌 564
20.7 小結 564
第21章 iOS測試驅動與單元測試 565
21.1 測試驅動的軟件開發概述 565
21.1.1 測試驅動的軟件開發流程 565
21.1.2 測試驅動的軟件開發案例 566
21.1.3 iOS單元測試框架 567
21.2 使用XCTest測試框架 568
21.2.1 添加XCTest到工程 568
21.2.2 Swift版本中設置編譯目標成員 570
21.2.3 編寫XCTest測試方法 570
21.2.4 運行測試用例目標 573
21.2.5 分析測試報告 575
21.3 異步單元測試 576
21.4 性能測試 580
21.4.1 Swift版本中配置測試環境 580
21.4.2 測試用例代碼 580
21.4.3 分析測試結果 581
21.5 iOS單元測試最佳實踐 583
21.5.1 配置測試數據持久層 583
21.5.2 編寫數據持久層測試用例 584
21.5.3 運行測試數據持久層測試用例 587
21.5.4 配置測試業務邏輯層 588
21.5.5 編寫業務邏輯層測試用例 588
21.6 小結 589
第22章 iOS應用UI測試 590
22.1 UI測試概述 590
22.2 添加UI測試到工程 590
22.2.1 創建工程時添加UI測試框架 590
22.2.2 在現有工程中添加UI測試用例
目標 591
22.3 錄製腳本 593
22.3.1 錄製之前的準備 593
22.3.2 錄製過程 593
22.3.3 修改錄製腳本 595
22.4 訪問UI元素 595
22.4.1 UI元素層次結構樹 595
22.4.2 UI測試中相關API 597
22.5 錶示層測試最佳實踐 598
22.5.1 配置UI測試用例目標 598
22.5.2 編寫UI測試用例 599
22.6 小結 602
第23章 讓你的程序“飛”起來——性能
優化 603
23.1 內存優化 603
23.1.1 內存管理 603
23.1.2 使用Analyze工具檢查內存泄漏 603
23.1.3 使用Instruments工具檢查內存
泄漏 608
23.1.4 使用Instruments工具檢查僵屍
對象 612
23.1.5 autorelease的使用問題 615
23.1.6 響應內存警告 616
23.2 優化資源文件 617
23.2.1 圖片文件優化 618
23.2.2 音頻文件優化 619
23.3 延遲加載 620
23.3.1 資源文件的延遲加載 620
23.3.2 故事闆文件的延遲加載 624
23.3.3 XIB文件的延遲加載 626
23.4 數據持久化的優化 628
23.4.1 使用文件 628
23.4.2 使用SQLite數據庫 631
23.4.3 使用Core Data 632
23.5 可重用對象的使用 634
23.5.1 錶視圖中的可重用對象 635
23.5.2 集閤視圖中的可重用對象 636
23.5.3 地圖視圖中的可重用對象 638
23.6 並發處理與多核CPU 638
23.6.1 主綫程阻塞問題 638
23.6.2 選擇NSThread還是GCD 639
23.7 小結 640
第五部分 實 戰 篇
第24章 管理好你的程序代碼——代碼版本
控製 642
24.1 概述 642
24.1.1 版本控製曆史 642
24.1.2 基本概念 643
24.2 Git代碼版本控製 643
24.2.1 服務器搭建 643
24.2.2 Gitolite服務器管理 645
24.2.3 Git常用命令 647
24.2.4 Git分支 649
24.2.5 Git協同開發 653
24.2.6 Xcode中Git的配置與使用 656
24.3 GitHub代碼托管服務 663
24.3.1 創建和配置GitHub賬號 663
24.3.2 創建代碼庫 666
24.3.3 刪除代碼庫 668
24.3.4 派生代碼庫 669
24.3.5 使用GitHub協同開發 671
24.3.6 管理組織 677
24.4 小結 680
第25章 項目依賴管理 681
25.1 使用CocoaPods工具管理依賴 681
25.1.1 安裝CocoaPods 681
25.1.2 搜索庫 682
25.1.3 項目與第三方庫搭配形式 683
25.1.4 示例:靜態鏈接庫形式管理依賴 684
25.1.5 示例:框架形式管理依賴 686
25.2 使用Carthage工具管理依賴 687
25.2.1 安裝Carthage 688
25.2.2 項目與第三方庫搭配形式 688
25.2.3 Cartfile文件 688
25.2.4 示例:重構MyNotes依賴關係 689
25.3 小結 691
第26章 重構MyNotes應用——iOS網絡
通信中的設計模式與架構設計 692
26.1 移動網絡通信應用的分層架構設計 692
26.2 Objective-C版本:在數據持久層中添加和
配置AFNetworking 693
26.2.1 用CocoaPods工具管理依賴 693
26.2.2 測試依賴 693
26.3 Swift版本:在數據持久層中添加和配置
Alamofire 694
26.3.1 用Carthage工具管理依賴 694
26.3.2 測試依賴 695
26.4 基於委托模式實現 695
26.4.1 網絡通信與委托模式 696
26.4.2 在異步網絡通信中使用委托模式
實現分層架構設計 696
26.4.3 類圖 697
26.4.4 時序圖 699
26.4.5 數據持久層重構(Objective-C
版本) 702
26.4.6 數據持久層重構(Swift版本) 705
26.4.7 業務邏輯層的代碼實現 707
26.4.8 錶示層的代碼實現 710
26.5 基於觀察者模式的通知機製實現 716
26.5.1 觀察者模式的通知機製迴顧 716
26.5.2 異步網絡通信中通知機製的分層架
構設計 716
26.5.3 類圖 717
26.5.4 時序圖 719
26.5.5 數據持久層重構(Objective-C
版本) 722
26.5.6 數據持久層重構(Swift版本) 723
26.5.7 業務邏輯層的代碼實現 725
26.5.8 錶示層的代碼實現 726
26.6 小結 731
第27章 把你的應用放到App Store上 732
27.1 收官 732
27.1.1 在Xcode 中添加圖標 732
27.1.2 在Xcode中添加啓動界麵 734
27.1.3 調整Identity和Deployment Info
屬性 738
27.2 為發布進行編譯 739
27.2.1 創建開發者證書 739
27.2.2 創建App ID 744
27.2.3 創建描述文件 745
27.2.4 發布編譯 748
27.3 發布上架 750
27.3.1 創建應用 750
27.3.2 應用定價 753
27.3.3 基本信息輸入 754
27.3.4 上傳應用 757
27.3.5 提交審核 759
27.4 常見審核不通過的原因 761
27.4.1 功能問題 761
27.4.2 用戶界麵問題 761
27.4.3 商業問題 761
27.4.4 不當內容 761
27.4.5 其他問題 762
27.5 小結 762
第28章 iOS敏捷開發項目實戰——2016裏
約熱內盧奧運會應用開發及App Store發布 763
28.1 應用分析與設計 763
28.1.1 應用概述 763
28.1.2 需求分析 763
28.1.3 原型設計 764
28.1.4 數據庫設計 765
28.1.5 架構設計 766
28.2 iOS敏捷開發 766
28.2.1 敏捷開發宣言 766
28.2.2 iOS適閤敏捷開發? 767
28.2.3 iOS敏捷開發最佳實踐 767
28.3 任務1:創建應用工作空間和工程 769
28.3.1 迭代1.1:創建工作空間 769
28.3.2 迭代1.2:發布到GitHub 769
28.4 任務2:信息係統層與持久層開發 770
28.4.1 迭代2.1:編寫數據庫DDL腳本 770
28.4.2 迭代2.2:插入初始數據到數據庫 770
28.4.3 迭代2.3:數據庫版本控製 771
28.4.4 迭代2.4:配置持久層工程PersistenceLayer 771
28.4.5 迭代2.5:編寫實體類 772
28.4.6 迭代2.6:編寫DAO類單元測試用例類 773
28.4.7 迭代2.7:編寫DAO類 775
28.4.8 迭代2.8:數據庫幫助類DBHelper 779
28.4.9 迭代2.9:配置及運行持久層測試用例目標 781
28.4.10 迭代2.10:發布到GitHub 782
28.5 任務3:業務邏輯層開發 782
28.5.1 迭代3.1:比賽項目業務邏輯類
XCTest單元測試 783
28.5.2 迭代3.2:編寫比賽項目業務
邏輯類 784
28.5.3 迭代3.3:比賽日程業務邏輯類
XCTest單元測試 785
28.5.4 迭代3.4:編寫比賽日程業務
邏輯類 786
28.5.5 迭代3.5:發布到GitHub 787
28.6 任務4:錶示層開發 788
28.6.1 迭代4.1:使用資源目錄管理圖片和圖標資源 788
28.6.2 迭代4.2:根據原型設計初步設計
故事闆 789
28.6.3 迭代4.3:“首頁”模塊 790
28.6.4 迭代4.4:“比賽項目”模塊 791
28.6.5 迭代4.5:“比賽日程”模塊 795
28.6.6 迭代4.6:“倒計時”模塊
錶示層 797
28.6.7 迭代4.7:“關於我們”模塊
錶示層 800
28.6.8 迭代4.8:發布到GitHub 800
28.7 任務5:收工 800
28.7.1 迭代5.1:添加圖標 800
28.7.2 迭代5.2:設計和添加啓動界麵 801
28.7.3 迭代5.3:性能測試與改善 801
28.7.4 迭代5.4:發布到GitHub上 802
28.7.5 迭代5.5:在App Store上發布
應用 802
28.8 小結 802

前言/序言


探索移動開發新紀元:從入門到精通的iOS之旅 前言 智能手機的普及徹底改變瞭我們的生活方式,而iOS平颱作為其中最引人注目的生態係統之一,吸引著無數開發者投身其中,創造齣影響世界的應用。如果你心中懷揣著一個絕妙的應用創意,渴望將其變為現實,或者希望掌握一門顛覆未來的核心技能,那麼,這本指南將是你開啓iOS開發之旅最可靠的夥伴。我們深知,學習一門新的編程語言和開發平颱,尤其是像iOS這樣功能強大且不斷演進的係統,可能會讓人望而卻步。但請放心,我們的目標是讓你在掌握基礎知識的同時,能夠逐步深入,直至能夠獨立完成從構思到最終在App Store上架的整個流程。 第一部分:啓程——你的第一個iOS應用 在踏入iOS開發的大門之前,我們需要為你的Mac電腦做好準備。這包括安裝Xcode,蘋果官方提供的集成開發環境(IDE)。Xcode不僅僅是一個代碼編輯器,它集成瞭項目管理、界麵設計、代碼編寫、調試以及應用打包等一係列強大功能,是iOS開發的“瑞士軍刀”。我們將詳細介紹Xcode的安裝過程,以及如何熟悉它的基本界麵和常用工具,例如項目導航器、代碼編輯器、模擬器和調試器。 接下來,我們將從最基礎的“Hello, World!”項目開始。這不僅僅是一個簡單的文本輸齣,更是你與Swift語言和iOS開發框架(Cocoa Touch)建立初步聯係的關鍵一步。你將學習如何創建一個新的Xcode項目,理解項目的基本結構,包括`AppDelegate`文件(應用的入口點)和`ViewController`文件(負責管理用戶界麵和交互)。我們會深入講解Swift語言的基礎語法,包括變量、常量、數據類型、運算符、條件語句和循環語句。即使你沒有任何編程基礎,也能通過清晰易懂的例子快速上手。 用戶界麵(UI)是應用給用戶最直觀的感受,我們將介紹iOS UI設計的核心概念。你將學會使用Interface Builder,Xcode的可視化界麵設計工具,通過拖拽控件(如按鈕、標簽、文本框)來構建應用的用戶界麵。同時,我們會講解Auto Layout,一種強大的約束係統,用於確保你的應用界麵在各種不同尺寸的設備上都能優雅地顯示,避免齣現布局錯亂的問題。你將學習如何設置控件的屬性,如何響應用戶的觸摸事件,以及如何將UI元素與Swift代碼進行連接,實現界麵的動態變化和交互。 第二部分:深入——構建更豐富的用戶體驗 隨著你對基礎概念的掌握,我們將逐步深入,探索構建更復雜、更具吸引力的應用所需的關鍵技術。 導航與多屏切換: 絕大多數應用都需要用戶在不同的界麵之間進行導航。我們將詳細介紹iOS中常用的導航控製器,如`UINavigationController`(用於棧式導航,如設置頁麵)和`UITabBarController`(用於標簽頁式導航,如音樂播放器)。你將學習如何Push和Pop視圖控製器,如何在標簽欄中添加和管理項目,從而實現流暢的多屏切換和用戶操作流程。 數據存儲: 應用需要保存數據,以便在下次啓動時能夠恢復用戶狀態或展示個性化內容。我們將介紹幾種常用的數據存儲方案: UserDefaults: 適用於存儲少量簡單的用戶偏好設置,如開關狀態、用戶名等。 文件存儲: 學習如何將數據保存到設備的文件係統中,例如將文本內容、圖片等保存為文件。 Core Data: 這是蘋果官方提供的強大對象圖管理和持久化框架,非常適閤處理大量結構化數據,如通訊錄、待辦事項列錶等。我們將介紹Core Data的核心概念,包括Managed Object Context、Managed Object Model和Persistent Store Coordinator,並演示如何使用它來創建、讀取、更新和刪除數據。 網絡通信: 現代應用大多需要與服務器進行數據交換,例如從互聯網獲取新聞、天氣信息,或者將用戶數據上傳到雲端。我們將詳細講解iOS中的網絡通信技術: URLSession: 這是iOS中進行網絡請求的標準API,你將學習如何發送GET、POST等HTTP請求,如何處理服務器響應,以及如何解析JSON或XML等數據格式。 Alamofire(可選但推薦): 作為一個流行的第三方網絡庫,Alamofire簡化瞭網絡請求的許多復雜細節,提供瞭更便捷的API,我們將簡要介紹其用法。 多媒體處理: 能夠集成照片、視頻和音頻,將極大地豐富你的應用功能。我們將介紹: 照片庫訪問: 學習如何請求用戶授權訪問照片庫,如何選擇和展示圖片。 相機集成: 演示如何調用相機來拍攝照片或錄製視頻。 音頻播放: 介紹如何播放本地或網絡音頻文件。 後颱任務與推送通知: 為瞭提升用戶體驗,應用需要在後颱執行某些任務,或者在有新消息時通知用戶。我們將講解: 後颱刷新: 瞭解如何在應用處於非活動狀態時,有限地執行後颱任務,如更新數據。 本地通知: 學習如何為用戶設置定時或事件觸發的本地通知。 遠程推送通知: 介紹推送通知的機製,以及如何將你的應用與Apple Push Notification service (APNs) 集成,實現嚮用戶發送實時通知。 第三部分:進階——精煉你的開發技能與發布流程 當你已經能夠獨立構建功能豐富的應用後,我們將聚焦於提升應用的質量、性能,以及最終將其呈現在全球用戶麵前的App Store上架流程。 版本控製與協作: 在團隊開發或長期項目中,版本控製至關重要。我們將詳細介紹Git,一種分布式版本控製係統,以及如何在Xcode中使用它進行版本管理,包括提交、分支、閤並等操作。這能幫助你追蹤代碼變更,方便迴溯,並與團隊成員協同工作。 調試與性能優化: 解決bug和提升應用性能是每個開發者都會遇到的挑戰。我們將深入講解Xcode的調試工具,包括斷點、變量觀察、內存診斷和CPU使用率分析。你將學會如何定位和修復各種類型的bug,並掌握一些常見的性能優化技巧,例如如何避免UI卡頓、如何高效地加載數據,以及如何管理內存,確保應用流暢穩定。 測試: 確保你的應用質量穩定是上架App Store的前提。我們將介紹iOS中的測試框架: 單元測試(Unit Testing): 針對代碼中最小的功能單元進行測試,驗證其正確性。 UI測試(UI Testing): 模擬用戶操作,測試應用的用戶界麵和交互邏輯。 你將學習如何編寫有效的測試用例,以及如何在Xcode中運行和管理測試。 App Store上架流程: 這是你努力的最終目標。我們將一步步指導你完成整個上架過程: 開發者賬號注冊: 解釋Apple Developer Program的申請和費用。 證書與Provisioning Profile配置: 詳細講解如何創建和管理用於應用簽名和分發的證書和配置文件。 App Store Connect配置: 介紹App Store Connect平颱,包括如何創建應用記錄,填寫應用信息(名稱、描述、關鍵詞、截圖等),設置價格和銷售區域。 應用打包與上傳: 演示如何使用Xcode將你的應用打包成可分發的`.ipa`文件,並將其上傳到App Store Connect。 應用審核: 解釋App Store的審核流程和指南,以及如何應對審核過程中可能齣現的問題。 發布與更新: 成功上架後,你將學習如何發布你的應用,以及如何進行後續的版本更新。 結語 iOS開發是一個充滿挑戰也充滿樂趣的領域。通過本書的引導,你將不僅掌握編程語言和開發工具,更重要的是培養解決問題的能力和創造力。從你手中誕生齣的每一個應用,都可能為用戶帶來便利,甚至改變他們的生活。我們鼓勵你不斷實踐,勇於嘗試,並將所學知識應用到你自己的創意項目中。App Store的星辰大海正等著你去探索,祝你在iOS開發的道路上一帆風順,成就非凡!

用戶評價

評分

對於《iOS開發指南 從Hello World到App Store上架 第4版》這個書名,我最看重的就是它的“全麵性”和“實踐性”。“從Hello World”意味著它的起點非常低,對編程新手非常友好,能夠幫助他們快速建立起對iOS開發的初步認知和興趣。而“App Store上架”則直接點明瞭這本書的價值所在,它不僅僅教授技術,更是將技術落地,教會讀者如何將自己的作品推嚮市場,獲得用戶的認可。我個人在學習新技術的過程中,最怕的就是理論空泛,缺乏實際操作。因此,我希望這本書能夠提供大量的代碼示例,並且這些示例能夠循序漸進,難度不斷增加,最終能夠導嚮一個完整、可上架的App。我設想書中可能會詳細講解諸如Git版本控製,單元測試,UI測試等軟件工程實踐,這些對於開發高質量App至關重要。同時,作為一個“第4版”,我期待它能包含對SwiftUI的深入講解,因為它是Apple未來的UI開發趨勢。我對書中“上架”的部分也充滿瞭期待,希望它能涵蓋App Store審核的最新政策,以及一些成功的ASO策略,幫助開發者更好地推廣自己的App。

評分

這本書的標題本身就足夠吸引我瞭:《iOS開發指南 從Hello World到App Store上架 第4版》。作為一名在技術領域摸爬滾打多年的“老司機”,我深知“從零開始”的魅力,也清楚“上架”背後的種種不易。看到“第4版”,我的興趣更是被點燃瞭,這意味著它緊跟時代步伐,肯定包含瞭最新的iOS開發技術和實踐。我一直對Apple生態係統抱有濃厚興趣,雖然之前也有接觸過一些零散的iOS開發資料,但總感覺缺乏係統性和深度。這款書名直接點齣瞭從入門到精通的完整路徑,這正是我一直在尋找的。尤其“App Store上架”這一點,這不僅僅是技術實現的最後一步,更是將自己的創意變成現實、觸達用戶的關鍵環節。對於很多初學者來說,這往往是令人生畏的一步,而有這樣一本指南能夠清晰地指引方嚮,無疑是巨大的福音。我期待它能帶領我一步步攻剋技術難關,同時也能讓我對整個App Store的生態和規則有更全麵的認識。我希望這本書能夠像一位經驗豐富的朋友,耐心解答我可能遇到的各種問題,並且提供實用的建議,讓我少走彎路,更高效地邁嚮iOS開發之路。

評分

這本《iOS開發指南 從Hello World到App Store上架 第4版》的名字,給我一種“管夠”的感覺。從“Hello World”開始,意味著無論我是一個完全的新手,還是有一些基礎但想係統學習的開發者,都能找到切入點。而“App Store上架”則錶明瞭這本書的終極目標,它不僅僅停留在代碼層麵,而是關注整個App的生命周期,這非常重要。我個人認為,一本好的開發指南,不僅僅是技術手冊,更應該是一本解決實際問題的寶典。我希望這本書能夠深入淺齣地講解Objective-C和Swift這兩種語言(雖然現在Swift是主流,但兼容性也可能涉及),以及iOS開發中最常用的Cocoa Touch框架。我腦海中勾勒齣的畫麵是,書中會有一係列精心設計的練習題和項目,例如一個簡單的待辦事項列錶,一個天氣預報應用,甚至是一個帶有用戶登錄和數據同步的小型社交應用。並且,我希望“第4版”意味著它涵蓋瞭最新的API和開發趨勢,比如SwiftUI的深度集成,或者對ARKit、Core ML等前沿技術的介紹。對於“上架”部分,我期待它能詳細解釋App Store Connect平颱的使用,包括證書、標識符、描述文件等配置,以及審核指南的解讀,幫助我避免被拒的風險。

評分

看到《iOS開發指南 從Hello World到App Store上架 第4版》這個書名,我立刻感受到瞭它的係統性和實用性。作為一名希望係統學習iOS開發的愛好者,我一直在尋找一本能夠從零開始,一直引導我到最終發布App的書籍。“Hello World”是每個開發者的起點,而“App Store上架”則是許多開發者夢想的終點,這本書名精準地抓住瞭這個關鍵路徑,給我一種“一站式”解決方案的感覺。我希望這本書能夠清晰地解釋Swift語言的基礎語法,以及Xcode開發環境的使用。更重要的是,我期待它能詳細講解iOS開發中的核心框架,例如UIKit或者SwiftUI,並提供大量的代碼示例,讓我能夠親手實踐。對於“App Store上架”這一環節,我猜測書中會提供非常詳細的操作指南,包括如何注冊開發者賬號,如何創建App ID、證書、配置文件,如何打包和提交App,以及如何應對App Store的審核流程。我希望這本書能夠用生動的語言和豐富的插圖,讓復雜的概念變得易於理解,並且能夠提供一些進階的主題,例如網絡編程、數據庫操作、動畫效果等等,幫助我不斷提升自己的開發能力。

評分

坦白說,我對技術書籍的要求嚮來很高,不隻是看它有沒有講到某個技術點,更看重它的講解方式是否清晰、邏輯是否嚴謹、以及是否能激發讀者的學習熱情。標題《iOS開發指南 從Hello World到App Store上架 第4版》給我的第一印象是相當務實和全麵的。我設想,這本書大概會以一個非常友好的方式引入Swift語言和Xcode開發環境,讓初學者不會因為初期的復雜性而望而卻步。而“從Hello World”這一點,更是體現瞭它紮實的入門基礎。接著,它應該會逐步深入,講解iOS開發的核心框架,比如UIKit或SwiftUI,以及各種UI控件的使用,數據管理,網絡請求等等。最讓我期待的是“App Store上架”這部分,我猜想它會詳細講解從打包、簽名、提交審核到最終發布的全過程,可能還會涉及App Store優化(ASO)的一些基礎知識,這對於想要將App推嚮市場的開發者來說,價值連城。我希望這本書的圖文並茂,代碼示例能夠直接復製粘貼運行,並且附帶一些小項目貫穿始終,這樣學習起來會更有成就感。我更希望它能強調最佳實踐和設計模式,不僅僅是教會“怎麼做”,更能教會“為什麼要這樣做”,從而提升開發者的內功。

評分

産品質量非常不錯,送貨非常及時,我非常滿意!

評分

不錯的書,講述得很詳細

評分

很好,內容詳細,客服好,新手入門必備

評分

書本不錯,買迴來還沒看?

評分

還沒來得及看。看完再說瞭,先給好評

評分

學習一下,13年就買瞭電腦準備開發IOS,到現在也沒開始

評分

很好的書適閤一步步理解 不天花亂

評分

送貨速度還是給力的,書頁比較新,擺在書架上很好看,學無止境,學到的東西,總有一天用得上啊

評分

雙語的,可以一步一步學習

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有