TOP
從紙書中看見香港,指定港書滿888再折100
iOS開發實戰:從入門到上架App Store(第二版)(簡體書)
滿額折

iOS開發實戰:從入門到上架App Store(第二版)(簡體書)

商品資訊

人民幣定價:108 元
定價
:NT$ 648 元
優惠價
87564
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點 :16 點
商品簡介
作者簡介
名人推薦
目次

商品簡介

本書站在開發者的視角,以iOS 10+Xcode 8和Objective-C+Swift 3雙語言代碼示例,完整地介紹了iOS應用程序從開發到上架的全過程,包含iOS應用開發的各種熱點技術和編者多年的開發經驗分享。全書共11章,包括:開發環境搭建、界面開發、傳感器技術、佈局與動畫技術、網絡和數據技術、打包與上傳發佈流程等,基本上每一章都配備了實戰範例,使讀者可以在編寫代碼中學習編程,在應用開發中提高開發技能。
本書技術先進,注重實戰,示例豐富,適合iOS開發新手使用,也很適合作為iOS培訓機構的教材或大專院校軟件開發課程的教學參考書。

作者簡介

張益琿(網名:琿少),工學學士,軟件開發工程師,多年iOS開發經驗,曾開發iOS平臺系列游戲:瘋狂越獄1~2、應用物通配貨軟件、VIPExam考試庫、證券財經軟件等,現就職于中國,出版著作《iOS開發實戰:從零基礎到App Store上架》(清華大學出版社,2016年出版)。

名人推薦

本書由經驗豐富的iOS開發工程師編寫,以iOS10 Xcode 8 Swift 3 Object-C為技術核心,通過大量的實戰演練,將基礎知識與開發實踐相結合,系統地介紹了iOS從入門開發到App Store上線的全部技術細節。通過閱讀本書,讀者能夠完整地了解iOS應用開發的全流程,并學會開發一款優雅的App產品。

目次

第1章 開發準備 1

1.1iOS 10新特性簡述 2

1.1.1新增觸覺反饋編程接口 2

1.1.2SiriKit框架的開放 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.3Xcode開發工具的使用技巧及

常用快捷鍵 9

1.3 創建個iOS項目 10

1.4 使用Git進行項目版本管理 13

1.4.1Git與Github簡介 13

1.4.2注冊GitHub會員 13

1.4.3使用Xcode創建Git倉庫 15

1.4.4用Xcode建立本地Git倉庫與

GitHub代碼托管平臺的關聯 16

第2章 基礎UI控件 18

2.1iOS系統UI框架的介紹 19

2.1.1MVC設計模式 19

2.1.2代理設計模式 20

2.2 視圖控制器——UIViewController20

2.2.1UIViewController的生命周期 20

2.2.2UIViewController的視圖層級

結構 27

2.3 文本控件——UILabel27

2.3.1使用UILabel在屏幕上創建

一個標簽控件 27

2.3.2自定義標簽控件的相關屬性 28

2.3.3多行顯示的UILabel與換行模式 30

2.4 按鈕控件——UIButton32

2.4.1創建一個按鈕改變屏幕顏色 32

2.4.2更加多彩的UIButton控件 35

2.5 文本輸入框控件——UITextField37

2.5.1在屏幕上創建一個輸入框 37

2.5.2UITextField的常用屬性介紹 39

2.5.3UITextField的代理方法 40

2.5.4實現一個監聽輸入信息的用戶名

輸入框 41

2.6 開關控件——UISwitch43

2.6.1創建一個開關控件 43

2.6.2為UISiwtch控件添加觸發方法 44

2.7 分頁控制器——UIPageControl45

2.8 分段控制器——UISegmentedControl46

2.8.1UISegmentedControl基本屬性的

應用 46

2.8.2對UISegmentedControl中的按鈕

進行增、刪、改操作 48

2.8.3UISegmentedControl中按鈕寬度的

自適應 48

2.9 滑塊控件——UISlider49

2.9.1UISlider的創建與常規設置 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.2UIPickerView選中數據時的

回調代理 58

2.14通過CALayer對視圖進行修飾 59

2.14.1創建圓角的控件 59

2.14.2創建帶邊框的控件 60

2.14.3為控件添加陰影效果 60

2.15警告控制器——UIAlertController 61

2.15.1UIAlertController的警告框 61

2.15.2UIAlertController之活動列表 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 導航控制器——UINavigationController81

3.1.1導航控制器的工作原理 81

3.1.2使用導航控制器進行多界面

搭建 82

3.1.3導航欄UINavigationBar 85

3.1.4導航按鈕UIBarButtonItem 87

3.1.5導航控制器的工具欄 90

3.1.6iOS 8之后導航控制器的一些

有趣功能 91

3.2 標簽控制器——UITabBarController92

3.2.1標簽控制器的工作原理 92

3.2.2標簽控制器的基礎用法解析 92

3.2.3關于UITabBarItem的使用 94

3.3 滾動視圖——UIScrollView96

3.3.1使用UIScrollView展示視圖

內容 96

3.3.2UIScrollView的代理方法 98

3.4 網絡視圖——UIWebView101

3.4.1App網絡傳輸安全策略 101

3.4.2通過網絡請求加載

UIWebView 102

3.4.3通過HTML字符串加載

UIWebView 103

3.4.4通過NSData數據加載

UIWebView 104

3.4.5UIWebView中常用方法解析 104

3.4.6UIWebView的代理方法 106

3.5 表格視圖——UITableView107

3.5.1UITableView的創建與復用

機制 107

3.5.2創建一個表格視圖

UITableView 108

3.5.3關于表格數據的載體

UITableViewCell 111

3.5.4設置UITableView的行高和

頭尾視圖 113

3.5.5UITableView的用戶交互行為 115

3.5.6為UITableView添加索引欄 118

3.6 復雜布局視圖——UICollectionView119

3.6.1UICollectionView控件的優勢與

布局方式 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.1JSON數據簡介 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詳解/S協議 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.1iOS音頻開發基礎——AVAudioPlayer

類的使用 217

5.1.1使用AVAudioPlayer進行MP3

音頻文件的播放 217

5.1.2進行音頻播放相關屬性的控制 218

5.1.3后臺播放音頻及用戶交互的

優化 225

5.2iOS視頻開發基礎 229

5.2.1使用MPMoviePlayerController

向應用中嵌入視頻模塊 230

5.2.2MPMoviePlayerController常用

屬性與方法解析 231

5.3 視頻播放器視圖控制器——

MPMoviePlayerViewController 236

5.4AVPlayerViewController視頻播放框架與

畫中畫開發技術 238

5.4.1使用AVPlayerViewController

進行視頻播放 238

5.4.2iPad的畫中畫播放技術 241

5.5 實戰:“歌手王菲”音頻播放器的

開發 244

5.5.1工程搭建與LRC歌詞文件

簡介 244

5.5.2LRC歌詞解析引擎的設計 245

5.5.3核心播放器引擎的設計 253

5.5.4歌曲列表與歌詞顯示視圖界面的

設計 265

5.5.5播放器主頁面的實現 274

5.5.6后臺播放音頻用戶交互的處理 285

第6章 動畫開發 288

6.1 使用UIImageView播放圖片組幀

動畫 289

6.2UIView層動畫的應用 290

6.2.1執行UIView層過渡動畫的3個類

方法 290

6.2.2創建UIView層的阻尼動畫 293

6.2.3動畫參數配置與組合動畫 293

6.2.4UIView層過渡動畫支持的

屬性 297

6.3 使用mit方式進行UIView層動畫的

創建 298

6.3.1使用mit方式進行UIView層

過渡動畫的創建 298

6.3.2兩種UIView層動畫創建方式的

優劣 300

6.4UIView的轉場動畫 300

6.4.1重繪UIView視圖時使用的轉場

動畫 300

6.4.2切換UIView視圖時使用的轉場

動畫 302

6.5 核心動畫編程技術——CoreAnimation303

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.6CAAnimation動畫體系介紹 310

6.5.7使用CABasicAnimation創建

基礎動畫 312

6.5.8使用CAKeyframeAnimation類

創建關鍵幀動畫 316

6.5.9CALayer層的轉場動畫——

CATransition 317

6.5.10CALayer層的組合動畫——

CAAnimationGroup 320

6.5.11CATransform3D變換的應用 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 實戰:小游戲FlappyBird的設計與

開發 336

6.8.1小鳥對象的設計 336

6.8.2游戲開始界面的設計 341

6.8.3游戲結束界面的設計 344

6.8.4Flappy 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.4iOS藍牙開發技術 373

7.4.1中心設備管理類

CBCentralManager 374

7.4.2外圍設備管理類

CBPeripheralManager 382

7.5GPS應用與地圖編程技術 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.1iOS中傳統的UIViewAutoresizing布局

模式 455

8.1.1通過代碼設置視圖控件的

UIViewAutoresizing模式 455

8.1.2在xib文件中可視化地配置

控件的autoresizing屬性 457

8.2autolayout自動布局框架 459

8.2.1初識autolayout 459

8.2.2autolayout的屬性意義與一個

簡單的自動布局示例 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.1SQLite數據庫常用語法介紹 495

9.3.2使用iOS原生框架sqlite3對

SQLite數據庫進行操作 497

9.4 核心數據管理框架CoreData的使用 501

9.4.1使用CoreData設計數據模型 502

9.4.2CoreData編程框架中3個

重要的類 504

9.4.3CoreData編程框架的數據操作 510

9.4.4使用CoreData進行數據與頁面的

綁定 516

9.5 網絡緩存策略 524

9.5.1為網絡請求設置緩存策略 524

9.5.2應用緩存管理類NSURLCache

簡介 525

第10章 提交應用程序到AppStore527

10.1使用Xcode開發工具進行程序調試 528

10.1.1使用自定義斷點進行代碼

調試 528

10.1.2添加全局異常斷點 529

10.1.3使用LLDB調試器進行程序

調試 530

10.2Apple開發者賬號的申請 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.1Objective-C中block語法的應用 546

11.1.1聲明與實現block語法塊 546

11.1.2block代碼塊中訪問對象的微妙

關系 547

11.2iOS通知中心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.3iOS中GCD編程技術簡介 556

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 564
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區