有 1 項符合
iOS開發實戰:從入門到上架App Store(雙語言版)
的圖書
|
|
| iOS开发实战.从入门到上架App Store
作者:张益珲
出版社:清華大學出版社
出版日期:2017-10-01
語言:簡體/中文
|
圖書介紹 - 資料來源:博客來 目前評分: 評分:
圖書名稱:iOS開發實戰:從入門到上架App Store(雙語言版) 內容簡介
本書站在開發者的視角,以iOS10+Xcode8和Objective-C+Swift3雙語言代碼示例,完整地介紹了iOS應用程序從開發到上架的全過程,包含iOS應用開發的各種熱點技術和編者多年的開發經驗分享。
全書共11章,包括:開發環境搭建、界面開發、傳感器技術、布局與動畫技術、網絡和數據技術、打包與上傳發布流程等,基本上每一章都配備了實戰范例,使讀者可以在編寫代碼中學習編程,在應用開發中提高開發技能。
本書技術先進,注重實戰,示例豐富,適合iOS開發新手使用,也很適合作為iOS培訓機構的教材或大專院校軟件開發課程的教學參考書。
張益琿(網名:琿少),工學學士,軟件開發工程師,多年iOS開發經驗,曾開發iOS平台系列游戲:瘋狂越獄1~2、應用物通配貨軟件、VIP Exam考試庫、證券財經軟件等,現就職於中國唯品會,出版著作《iOS開發實戰:從零基礎到App Store上架》(清華大學出版社,2016年出版)。
目錄
第1章 開發准備 1 1.1 iOS 10新特性簡述 2 1.1.1 新增觸覺反饋編程接口 2 1.1.2 SiriKit框架的開放 4 1.1.3 引入Messages App 5 1.1.4 通知框架的整合與擴展 6 1.2 熟悉iOS開發環境 6 1.2.1 安裝Xcode開發工具 6 1.2.2 了解Xcode開發工具主界面 8 1.2.3 Xcode開發工具的使用技巧及 常用快捷鍵 9 1.3 創建第一個iOS項目 10 1.4 使用Git進行項目版本管理 13 1.4.1 Git與Github簡介 13 1.4.2 注冊GitHub會員 13 1.4.3 使用Xcode創建Git倉庫 15 1.4.4 用Xcode建立本地Git倉庫與 GitHub代碼托管平台的關聯 16 第2章 基礎UI控件 18 2.1 iOS系統UI框架的介紹 19 2.1.1 MVC設計模式 19 2.1.2 代理設計模式 20 2.2 視圖控制器——UIViewController 20 2.2.1 UIViewController的生命周期 20 2.2.2 UIViewController的視圖層級 結構 27 2.3 文本控件——UILabel 27 2.3.1 使用UILabel在屏幕上創建 一個標簽控件 27 2.3.2 自定義標簽控件的相關屬性 28 2.3.3 多行顯示的UILabel與換行模式 30 2.4 按鈕控件——UIButton 32 2.4.1 創建一個按鈕改變屏幕顏色 32 2.4.2 更加多彩的UIButton控件 35 2.5 文本輸入框控件——UITextField 37 2.5.1 在屏幕上創建一個輸入框 37 2.5.2 UITextField的常用屬性介紹 39 2.5.3 UITextField的代理方法 40 2.5.4 實現一個監聽輸入信息的用戶名 輸入框 41 2.6 開關控件——UISwitch 43 2.6.1 創建一個開關控件 43 2.6.2 為UISiwtch控件添加觸發方法 44 2.7 分頁控制器——UIPageControl 45 2.8 分段控制器——UISegmentedControl 46 2.8.1 UISegmentedControl基本屬性的 應用 46 2.8.2 對UISegmentedControl中的按鈕 進行增、刪、改操作 48 2.8.3 UISegmentedControl中按鈕寬度的 自適應 48 2.9 滑塊控件——UISlider 49 2.9.1 UISlider的創建與常規設置 49 2.9.2 對UISlider添加圖片修飾 51 2.10 活動指示器控件—— UIActivityIndicatorView 51 2.11 進度條控件——UIProgressView 53 2.12 步進控制器——UIStepper 53 2.12.1 步進控制器的基本屬性使用 54 2.12.2 自定義UIStepper按鈕圖片 55 2.13 選擇器控件——UIPickerView 56 2.13.1 創建一個UIPickerView控件 56
2.13.2 UIPickerView選中數據時的 回調代理 58 2.14 通過CALayer對視圖進行修飾 59 2.14.1 創建圓角的控件 59 2.14.2 創建帶邊框的控件 60 2.14.3 為控件添加陰影效果 60 2.15 警告控制器——UIAlertController 61 2.15.1 UIAlertController的警告框 61 2.15.2 UIAlertController之活動列表 64 2.16 擴展篇 65 2.16.1 搜索欄控件——UISearchBar 65 2.16.2 日期時間選擇器—— UIDatePicker 69 2.16.3 警告視圖——UIAlertView 71 2.16.4 活動列表——UIActionSheet 72 2.17 實戰:登錄注冊界面的搭建 73 第3章 高級UI控件 80 3.1 導航控制器——UINavigationController 81 3.1.1 導航控制器的工作原理 81 3.1.2 使用導航控制器進行多界面 搭建 82 3.1.3 導航欄UINavigationBar 85 3.1.4 導航按鈕UIBarButtonItem 87 3.1.5 導航控制器的工具欄 90 3.1.6 iOS 8之后導航控制器的一些 有趣功能 91 3.2 標簽控制器——UITabBarController 92 3.2.1 標簽控制器的工作原理 92 3.2.2 標簽控制器的基礎用法解析 92 3.2.3 關於UITabBarItem的使用 94 3.3 滾動視圖——UIScrollView 96 3.3.1 使用UIScrollView展示視圖 內容 96 3.3.2 UIScrollView的代理方法 98 3.4 網絡視圖——UIWebView 101 3.4.1 App網絡傳輸安全策略 101
3.4.2 通過網絡請求加載 UIWebView 102 3.4.3 通過HTML字符串加載 UIWebView 103 3.4.4 通過NSData數據加載 UIWebView 104 3.4.5 UIWebView中常用方法解析 104 3.4.6 UIWebView的代理方法 106 3.5 表格視圖——UITableView 107 3.5.1 UITableView的創建與復用 機制 107 3.5.2 創建一個表格視圖 UITableView 108 3.5.3 關於表格數據的載體 UITableViewCell 111 3.5.4 設置UITableView的行高和 頭尾視圖 113 3.5.5 UITableView的用戶交互行為 115 3.5.6 為UITableView添加索引欄 118 3.6 復雜布局視圖——UICollectionView 119 3.6.1 UICollectionView控件的優勢與 布局方式 119 3.6.2 使用UICollectionView進行 九宮格式的布局 119 3.6.3 創建更加靈活的流式布局 122 3.6.4 自定義UICollectionViewFlowLayout進行參差瀑布流布局 123 3.6.5 使用UICollectionView進行圓環 布局 128 3.7 實戰:開發一款手機網頁瀏覽器 133 3.7.1 網頁瀏覽器工程的搭建 133 3.7.2 核心網頁視圖的設計 135 3.7.3 歷史記錄界面的設計 147 3.7.4 收藏界面的設計 151 3.7.5 啟動頁面、圖標及應用名稱的 相關優化 154
第4章 網絡編程 157 4.1 使用NSURLConnection請求網絡 數據 158 4.1.1 申請一個免費的API服務 158 4.1.2 使用NSURLConnection進行API 服務數據的獲取 161 4.1.3 使用NSURLConnection進行異步 網絡請求 162 4.1.4 使用NSURLConnection類通過代理 回調的方式異步進行網絡請求 164 4.2 設計封裝一個更加易用的網絡請求類 165 4.2.1 設計自定義的網絡請求連接類 166 4.2.2 設計自定義的網絡請求管理類 167 4.3 JSON類型數據的解析與數據模型的 設計 171 4.3.1 JSON數據簡介 171 4.3.2 在iOS中解析JSON數據 173 4.3.3 數據模型Model類的設計 175 4.4 使用CocoaPods進行第三方庫的管理 180 4.4.1 在MAC上安裝CocoaPods 180 4.4.2 用CocoaPods搭建一個使用第三方 網絡請求框架AFNetworking的 工程 182 4.5 使用AFNetworking進行網絡請求 184 4.5.1 詳解HTTP/HTTPS協議 184 4.5.2 使用AFNetworking進行網絡 請求 185 4.6 實戰:開發「笑一笑」應用程序 188 4.6.1 工程項目框架的搭建 188 4.6.2 「笑一笑」界面數據載體cell的 設計 190 4.6.3 「笑一笑」界面的搭建 193 4.6.4 實現下拉刷新與加載更多功能 200 4.6.5 「趣圖吧」界面數據載體cell的 設計 203 4.6.6 「趣圖吧」界面的設計 207
第5章 音頻、視頻開發 216 5.1 iOS音頻開發基礎——AVAudioPlayer 類的使用 217 5.1.1 使用AVAudioPlayer進行MP3 音頻文件的播放 217 5.1.2 進行音頻播放相關屬性的控制 218 5.1.3 后台播放音頻及用戶交互的 優化 225 5.2 iOS視頻開發基礎 229 5.2.1 使用MPMoviePlayerController 向應用中嵌入視頻模塊 230 5.2.2 MPMoviePlayerController常用 屬性與方法解析 231 5.3 視頻播放器視圖控制器—— MPMoviePlayerViewController 236 5.4 AVPlayerViewController視頻播放框架與 畫中畫開發技術 238 5.4.1 使用AVPlayerViewController 進行視頻播放 238 5.4.2 iPad的畫中畫播放技術 241 5.5 實戰:「歌手王菲」音頻播放器的 開發 244 5.5.1 工程搭建與LRC歌詞文件 簡介 244 5.5.2 LRC歌詞解析引擎的設計 245 5.5.3 核心播放器引擎的設計 253 5.5.4 歌曲列表與歌詞顯示視圖界面的 設計 265 5.5.5 播放器主頁面的實現 274 5.5.6 后台播放音頻用戶交互的處理 285 第6章 動畫開發 288 6.1 使用UIImageView播放圖片組幀 動畫 289 6.2 UIView層動畫的應用 290 6.2.1 執行UIView層過渡動畫的3個類 方法 290 6.2.2 創建UIView層的阻尼動畫 293 6.2.3 動畫參數配置與組合動畫 293 6.2.4 UIView層過渡動畫支持的 屬性 297 6.3 使用commit方式進行UIView層動畫的 創建 298 6.3.1 使用commit方式進行UIView層 過渡動畫的創建 298 6.3.2 兩種UIView層動畫創建方式的 優劣 300 6.4 UIView的轉場動畫 300 6.4.1 重繪UIView視圖時使用的轉場 動畫 300 6.4.2 切換UIView視圖時使用的轉場 動畫 302 6.5 核心動畫編程技術——CoreAnimation 303 6.5.1 錨點對視圖控件幾何位置的 影響 303 6.5.2 色彩梯度層—— CAGradientLayer 304 6.5.3 視圖拷貝層—— CAReplicatorLayer 305 6.5.4 圖形渲染層—— CAShapeLayer 307 6.5.5 文本繪制層——CATextLayer 309 6.5.6 CAAnimation動畫體系介紹 310 6.5.7 使用CABasicAnimation創建 基礎動畫 312 6.5.8 使用CAKeyframeAnimation類 創建關鍵幀動畫 316 6.5.9 CALayer層的轉場動畫—— CATransition 317 6.5.10 CALayer層的組合動畫—— CAAnimationGroup 320 6.5.11 CATransform3D變換的應用 321 6.6 炫酷的粒子效果 324 6.6.1 粒子發射器—— CAEmitterLayer 324 6.6.2 粒子單元——CAEmitterCell 327 6.6.3 創建粒子火焰動畫 330 6.7 播放GIF動態圖 332 6.7.1 使用UIWebView進行GIF動態圖 播放 332 6.7.2 使用UIImageView幀動畫進行 GIF動態圖播放 334 6.8 實戰:小游戲Flappy Bird的設計與 開發 336 6.8.1 小鳥對象的設計 336 6.8.2 游戲開始界面的設計 341 6.8.3 游戲結束界面的設計 344 6.8.4 Flappy Bird游戲主框架的搭建 347 第7章 傳感器開發 360 7.1 為應用程序添加手機密碼及指紋識別的 安全驗證 361 7.1.1 使用手機密碼為應用程序添加 安全驗證 361 7.1.2 使用用戶指紋為應用程序添加 安全驗證 363 7.2 使用加速度傳感器、螺旋儀傳感器與磁力 傳感器獲取設備空間狀態 364 7.2.1 使用UIAccelerometer獲取設備 空間狀態 364 7.2.2 使用CoreMotion框架獲取設備 空間狀態信息 365 7.3 距離傳感器的應用 371 7.4 iOS藍牙開發技術 373 7.4.1 中心設備管理類 CBCentralManager 374 7.4.2 外圍設備管理類 CBPeripheralManager 382 7.5 GPS應用與地圖編程技術 388 7.5.1 進行設備地理位置定位 388 7.5.2 原生地圖開發技術 392 7.5.3 在地圖中添加大頭針及標注 395 7.5.4 在地圖視圖中添加覆蓋物 398 7.5.5 在地圖中進行線路導航與附近 興趣點檢索 402 7.6 實戰:簡易藍牙對戰五子棋 410 7.6.1 游戲核心通信類的設計 410 7.6.2 棋盤瓦片的設計 427 7.6.3 核心游戲視圖與游戲核心邏輯的 設計 430 7.6.4 核心游戲視圖控制器的設計 448 第8章 界面布局 454 8.1 iOS中傳統的UIViewAutoresizing布局 模式 455 8.1.1 通過代碼設置視圖控件的 UIViewAutoresizing模式 455 8.1.2 在xib文件中可視化地配置 控件的autoresizing屬性 457 8.2 autolayout自動布局框架 459 8.2.1 初識autolayout 459 8.2.2 autolayout的屬性意義與一個 簡單的自動布局示例 461 8.2.3 使用Objective-C風格的方法 進行代碼autolayout布局 464 8.2.4 使用格式化的字符串進行 autolayout布局對象的創建 467 8.2.5 與約束相關的幾個方法 470 8.2.6 使用autolayout設計一個高度自適應 的聊天輸入框和動畫優化 470 8.2.7 使用第三方庫Masonry進行 autolayout的約束布局 474 第9章 數據持久化 482 9.1 使用plist文件進行輕量級數據持久化 管理 483 9.1.1 在工程中讀取plist文件數據 483 9.1.2 在程序沙盒Doucments目錄中 創建和使用plist文件 485 9.1.3 使用NSUserDefaults類進行 數據持久化 486 9.2 使用歸檔技術進行數據模型持久化 489 9.2.1 進行單一系統數據類型的歸檔與 解歸檔操作 489 9.2.2 對多個對象進行數據歸檔 491 9.2.3 進行自定義數據模型的歸檔 492 9.3 小型數據庫SQLite在iOS開發中的 應用 495 9.3.1 SQLite數據庫常用語法介紹 495 9.3.2 使用iOS原生框架sqlite3對 SQLite數據庫進行操作 497 9.4 核心數據管理框架CoreData的使用 501 9.4.1 使用CoreData設計數據模型 502 9.4.2 CoreData編程框架中3個 重要的類 504 9.4.3 CoreData編程框架的數據操作 510 9.4.4 使用CoreData進行數據與頁面的 綁定 516 9.5 網絡緩存策略 524 9.5.1 為網絡請求設置緩存策略 524 9.5.2 應用緩存管理類NSURLCache 簡介 525 第10章 提交應用程序到AppStore 527 10.1 使用Xcode開發工具進行程序調試 528 10.1.1 使用自定義斷點進行代碼 調試 528 10.1.2 添加全局異常斷點 529 10.1.3 使用LLDB調試器進行程序 調試 530 10.2 Apple開發者賬號的申請 531 10.2.1 幾種類型的開發者賬號 531 10.2.2 申請開發者賬號的過程 531 10.3 進行應用程序的打包 534 10.3.1 在iTunes Connect中進行應用的 創建與配置 534 10.3.2 使用Xcode打包與提交 iTunes 541
第11章 更多功能與進階技巧 545 11.1 Objective-C中block語法的應用 546 11.1.1 聲明與實現block語法塊 546 11.1.2 block代碼塊中訪問對象的微妙 關系 547 11.2 iOS通知中心NSNotificationCenter的 應用 548 11.2.1 通知類NSNotification簡介 549
11.2.2 通知中心NSNotificationCenter的 應用 549 11.3 多線程開發技術 550 11.3.1 使用NSThread進行線程 管理 550 11.3.2 使用NSOperation類與 NSOperationQueue類進行多任務 管理 552 11.3.3 iOS中GCD編程技術簡介 556
序
當你拿到這本書時,相信你最關心的問題便是學習完這本書后是否可以完全掌握iOS軟件開發技術。十分抱歉,對於這個問題,筆者無法給你准確的答復。編程技術日新月異,移動開發領域的新技術也層出不窮,我們都需要站在前人的肩膀上前行。但是如果你問本書是否可以幫助你入門iOS軟件開發,筆者倒可以拍着胸脯說沒問題。
開發一款完整的iOS軟件是一個復雜的過程,開發者除了需要有編程語言的基礎外,還需要對程序設計有宏觀的把控。本書在編寫時,定位的目標就是要幫助並無太多基礎的讀者快速上手iOS應用開發。從開發環境准備到程序界面開發,從網絡與數據邏輯開發到動畫與傳感器技術,本書都有專門的章節進行介紹。如果說學習理論是一個枯燥的過程,那麼在編程中的動手實踐就是對理論學習成果的最好檢驗。本書中每一個模塊基本都配備了實戰項目,你可以通過實戰項目的練習,在學習中體會獨立開發軟件的成就感。
本書主要內容 本書在結構上分為11個章節。下面介紹各個章節的主要內容及其聯系。 第1章是為學習應用開發做准備,其中將介紹開發環境的搭建與開發工具的使用,這一章雖然為准備章節,但對初學者來說卻至關重要。
第2章將介紹iOS開發中的一些基礎UI控件,移動端應用一個很重要的特點就是要有絢麗的界面,應用程序的界面決定了用戶使用這款應用程序的體驗與心情,這一章向讀者獨立地介紹每個基礎控件的用法,並通過一些綜合實戰來給讀者提供綜合使用這些控件的機會。
第3章在第2章的基礎上,將向讀者介紹iOS開發中經常使用的更多高級控件的用法,同樣也會為讀者提供實戰機會。
第4章主要講解了iOS應用開發中的網絡編程技術,由於網絡編程的演示需要有網絡數據支持,很多有關網絡教學的文檔書籍都只講授理論,卻沒有辦法使讀者切身地進行測試與練習。在編寫本章時,特意注意了這個問題,本章除了講授網絡編程在iOS應用開發中的相關知識外,還將教讀者如何使用網上免費的API服務真正做出一款網絡應用。
第5章主要講解iOS應用程序開發中的音頻與視頻技術,這類技術在開發音頻軟件和視頻軟件中意義重大。
第6章將作為動畫專題,向讀者介紹iOS應用開發中的動畫技術,章節設計由簡到難,並且都配有代碼演示。
第7章將作為傳感器專題,向讀者介紹iOS開發中可以調用的設備傳感器的相關知識。
第8章是界面布局專題,編寫中參閱了很多iOS應用開發教材,其中都沒有過多提到界面布局的相關知識,筆者認為這是一個十分大的弊端,界面布局技術是衡量一個開發者是否合格的重要指標,筆者相信讀者學習iOS開發技術絕對不只是想簡簡單單地做出一個DEMO自己玩,做出「產品」才是讀者的真正目標,而一款成熟的產品一定是具有兼容性的,並且一定是優雅的。因此,本書特別將iOS界面布局技術作為一個單獨的章節來向讀者介紹。
第9章是數據持久化專題,本章將介紹有關iOS應用開發中的文件操作、數據庫操作的相關知識。
通過前9章的學習,你已經具備獨立開發一款iOS應用的基礎能力,但是僅僅做出產品還不夠,如何讓自己的產品在市場發布,使用戶可以下載使用也是開發者不得不去了解、學習的內容,第10章將完整地向讀者介紹提交自己的應用到AppStore的整個過程。
第11章是擴展章節,此章也是讀者開發能力提升的一個章節,本章將介紹一些獨立於前面章節,但在實際開發中也舉足輕重的編程技術。
本書特點 本書的在第一版的基礎上,將所有代碼示例除了使用Objective-C語言實現外,還使用Swift語言實現了一遍。雙語版本可以讓你無論學習的是哪種語言基礎,在學習本書時都不會太費力。
詳細資料
- ISBN:9787302483564
- 規格:558頁 / 普通級 / 2-1
- 出版地:大陸
|
|
|
| 作者:木蔵Shafe君子、荻野淳也、正念領導力機構 出版社:木馬文化事業有限公司 出版日期:2023-02-01 66折: $ 238 | | 作者:凱倫.樂文 出版社:木馬文化事業有限公司 出版日期:2019-01-23 66折: $ 198 | | 作者:維吉尼亞.吳爾芙 出版社:漫遊者 出版日期:2023-04-19 66折: $ 508 | | 作者:索達吉堪布 出版社:如果 出版日期:2021-08-02 66折: $ 766 | |
|
| 作者:尼克.馬朱利 (Nick Maggiulli) 出版社:商業周刊 出版日期:2023-05-30 $ 316 | | $ 300 | | 作者:郭仕鵬 出版社:朱雀文化事業有限公司 出版日期:2018-07-03 $ 221 | | 作者:蔡康永 出版社:如何 出版日期:2019-10-17 $ 276 | |
|
| 作者:彥陽高照 出版社:北京億森同創文化 出版日期:2024-10-24 $ 59 | | 作者:我是猴三 出版社:北京億森同創文化 出版日期:2024-10-24 $ 59 | | 作者:我的沫果 出版社:北京億森同創文化 出版日期:2024-10-24 $ 59 | | 作者:十一 出版社:北京億森同創文化 出版日期:2024-10-24 $ 59 | |
|
|
|
|