|
-- 會員 / 註冊 --
|
|
|
|
iOS開發指南 從Hello World到App Store上架 第4版 ( 簡體 字) |
作者:關東升 | 類別:1. -> 程式設計 -> 手機程式 -> iPhone |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 44600 詢問書籍請說出此書號!【缺書】 NT售價: 595 元 |
出版日:6/1/2016 |
頁數:802 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115423184 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介: 本書是iOS開發杰出指南,分5部分講解如何從零起步編寫并上線iOS應用。首部分介紹iOS開發基礎知識,包括界面構建技術、基本控件、協議、表視圖、屏幕適配、導航、分屏多任務等。第二部分介紹設計與架構的相關知識,包括設計模式、分層模式、本地數據持久化等。第三部分為進階篇,包括設置與配置、本地化、Contacts與ContactsUI框架、數據交換格式、Web Service、定位服務、蘋果地圖等內容。第四部分介紹測試、調試和優化等相關知識。第五部分為實戰篇,涵蓋代碼版本管理、項目依賴管理、App Store發布流程,以及兩個真實iOS應用的分析設計、編程、測試與分布過程。本書同時提供Swift和Objective-C兩版代碼。
本書適合所有iOS開發人員學習參考。 |
目錄:第一部分 基 礎 篇 第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
|
序: |
|