iOS开发实战:从入门到上架App Store(第2版)

副标题:无

作   者:张益珲

分类号:

ISBN:9787302483564

微信扫一扫,移动浏览光盘

简介


本书站在开发者的视角,以iOS 10 Xcode 8和Objective-C Swift 3双语言代码示例,完整地介绍了iOS应用程序从开发到上架的全过程,包含iOS应用开发的各种热点技术和编者多年的开发经验分享。全书共11章,包括:开发环境搭建、界面开发、传感器技术、布局与动画技术、网络和数据技术、打包与上传发布流程等,基本上每一章都配备了实战范例,使读者可以在编写代码中学习编程,在应用开发中提高开发技能。本书技术先进,注重实战,示例丰富,适合iOS开发新手使用,也很适合作为iOS培训机构的教材或大专院校软件开发课程的教学参考书。

目录


第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详解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.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 使用commit方式进行UIView层动画的

创建 298

6.3.1使用commit方式进行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


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

iOS开发实战:从入门到上架App Store(第2版)
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon