移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)

移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2018-10
版次: 1
ISBN: 9787302511953
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 339页
11人买过
  • 本书结合编者多年iOS开发经验,使用iOS 11+Xcode 9+Swift 4开发环境,系统地介绍了iOS应用程序从开发到上架的全过程。从开发环境搭建、界面开发、传感器技术、布局与动画技术、网络和数据技术到打包与上传发布流程等,包含了iOS软件开发核心技术的方方面面。值得注意的是,本书针对每章的技术要点配备了来自工作实践的项目案例,读者可以边学边练,在编写代码中学习编程。 
    本书深入浅出,注重实战,案例丰富,非常适合快速上手iOS开发的新人,也很适合有一定编程基础但缺少开发iOS应用经验的开发人员,还可以作为大中专院校及培训机构的教学用书。 
    张益珲(网名:珲少),多年iOS开发经验,51CTO学院、CSDN学院签约讲师 ,麦子学院金牌讲师,参与开发iOS平台系列游戏:疯狂越狱1-2、应用物通配货软件、VIPExam考试库、证券财经软件等,曾就职于中国唯品会,主要从事移动端应用开发,对iOS开发、React Native跨平台开发及JavaScript前端开发都拥有丰富的经验。曾出版《iOS开发实战:从零基础到App Store上架》《React Native全教程:移动端跨平台应用开发》等多本编程著作。 目   录 
    第1章  开发准备 1 
    1.1  iOS 11新特性简述 1 
    1.1.1  新增拖放交互编程接口 2 
    1.1.2  其他新增功能 4 
    1.2  熟悉iOS开发环境 4 
    1.2.1  安装Xcode开发工具 4 
    1.2.2  了解Xcode开发工具主界面 6 
    1.2.3  Xcode开发工具的使用技巧及常用快捷键 7 
    1.3  创建第一个iOS项目 9 
    1.4  使用Git进行项目版本管理 12 
    1.4.1  Git与Github简介 12 
    1.4.2  注册GitHub会员 12 
    1.4.3  使用Xcode创建Git仓库 13 
    1.4.4  用Xcode建立本地Git仓库与GitHub代码托管平台的关联 15 
    第2章  基础UI组件 18 
    2.1  iOS系统UI框架的介绍 18 
    2.1.1  MVC设计模式 19 
    2.1.2  代理设计模式 19 
    2.2  视图控制器——UIViewController 20 
    2.2.1  UIViewController的生命周期 20 
    2.2.2  UIViewController的视图层级结构 24 
    2.3  文本控件——UILabel 24 
    2.3.1  使用UILabel在屏幕上创建一个标签控件 24 
    2.3.2  自定义标签控件的相关属性 25 
    2.3.3  多行显示的UILabel控件与换行模式 26 
    2.4  按钮控件——UIButton 27 
    2.4.1  创建一个按钮改变屏幕颜色 27 
    2.4.2  更加多彩的UIButton控件 29 
    2.5  文本输入框控件——UITextField 31 
    2.5.1  在屏幕上创建一个输入框 31 
    2.5.2  UITextField的常用属性介绍 33 
    2.5.3  UITextField的代理方法 33 
    2.5.4  实现一个监听输入信息的用户名输入框 34 
    2.6  开关控件——UISwitch 35 
    2.6.1  创建一个开关控件 35 
    2.6.2  为UISiwtch控件添加触发方法 36 
    2.7  分页控制器——UIPageControl 37 
    2.8  分段控制器——UISegmentedControl 37 
    2.8.1  UISegmentedControl基本属性的应用 38 
    2.8.2  对UISegmentedControl中的按钮进行增、删、改操作 38 
    2.8.3  UISegmentedControl中按钮宽度的自适应 39 
    2.9  滑块控件——UISlider 40 
    2.9.1  UISlider的创建与常规设置 40 
    2.9.2  对UISlider添加图片修饰 41 
    2.10  活动指示器控件——UIActivityIndicatorView 41 
    2.11  进度条控件——UIProgressView 42 
    2.12  步进控制器——UIStepper 43 
    2.12.1  步进控制器的基本属性使用 43 
    2.12.2  自定义UIStepper按钮图片 44 
    2.13  选择器控件——UIPickerView 44 
    2.13.1  创建一个UIPickerView控件 44 
    2.13.2  UIPickerView选中数据时的回调代理 46 
    2.14  通过CALayer对视图进行修饰 46 
    2.14.1  创建圆角的控件 47 
    2.14.2  创建带边框的控件 47 
    2.14.3  为控件添加阴影效果 48 
    2.15  警告控制器——UIAlertController 48 
    2.15.1  UIAlertController的警告框 48 
    2.15.2  UIAlertController之活动列表 50 
    2.16  基础UI控件扩展篇 51 
    2.16.1  搜索栏控件——UISearchBar 51 
    2.16.2  日期时间选择器——UIDatePicker 52 
    2.16.3  警告视图——UIAlertView 54 
    2.16.4  活动列表——UIActionSheet 54 
    2.17  实战:登录注册界面的搭建 55 
    第3章  高级UI控件 59 
    3.1  导航控制器——UINavigationController 60 
    3.1.1  导航控制器的工作原理 60 
    3.1.2  使用导航控制器进行多界面搭建 61 
    3.1.3  导航栏UINavigationBar 63 
    3.1.4  导航按钮UIBarButtonItem 65 
    3.1.5  导航控制器的工具栏 67 
    3.1.6  iOS 8系统之后导航控制器的一些有趣功能 67 
    3.2  标签控制器——UITabBarController 68 
    3.2.1  标签控制器的工作原理 68 
    3.2.2  标签控制器的基础用法解析 68 
    3.2.3  关于UITabBarItem的使用 70 
    3.3  滚动视图——UIScrollView 71 
    3.3.1  使用UIScrollView展示视图内容 71 
    3.3.2  UIScrollView的代理方法 72 
    3.4  网络视图——UIWebView 74 
    3.4.1  App网络传输安全策略 74 
    3.4.2  通过网络请求加载UIWebView 75 
    3.4.3  通过HTML字符串加载UIWebView 75 
    3.4.4  通过Data数据加载UIWebView 76 
    3.4.5  UIWebView中常用方法解析 76 
    3.4.6  UIWebView的代理方法 77 
    3.5  表格视图——UITableView 78 
    3.5.1  UITableView的创建与复用机制 78 
    3.5.2  创建一个表格视图UITableView 79 
    3.5.3  关于表格数据的载体UITableViewCell 81 
    3.5.4  设置UITableView的行高和头尾视图 82 
    3.5.5  UITableView的用户交互行为 83 
    3.5.6  为UITableView添加索引栏 85 
    3.6  复杂布局视图——UICollectionView 85 
    3.6.1  UICollectionView控件的优势与布局方式 86 
    3.6.2  使用UICollectionView进行九宫格式的布局 86 
    3.6.3  创建更加灵活的流式布局 88 
    3.6.4  自定义UICollectionViewFlowLayout进行参差瀑布流布局 88 
    3.6.5  使用UICollectionView进行圆环布局 91 
    3.7  实战:开发一款手机网页浏览器 93 
    3.7.1  网页浏览器工程的搭建 93 
    3.7.2  核心网页视图的设计 94 
    3.7.3  历史记录界面的设计 101 
    3.7.4  收藏界面的设计 102 
    3.7.5  启动页面、图标及应用名称的相关优化 103 
    3.8  扩展内容 106 
    3.8.1  应用内评价组件 106 
    3.8.2  进行系统拨号与短信界面的调用 106 
    3.8.3  拖拽交互体验 107 
    第4章  网络编程技术 111 
    4.1  使用NSURLConnection请求网络数据 111 
    4.1.1  申请一个免费的API服务 112 
    4.1.2  使用NSURLConnection进行API服务数据的获取 114 
    4.1.3  使用NSURLConnection进行异步网络请求 115 
    4.1.4  使用NSURLConnection类通过代理回调的方式异步请求 116 
    4.2  设计封装一个更加易用的网络请求类 117 
    4.2.1  设计自定义的网络请求连接类 117 
    4.2.2  设计自定义的网络请求管理类 118 
    4.3  JSON类型数据的解析与数据模型的设计 120 
    4.3.1  JSON数据简介 120 
    4.3.2  在iOS中解析JSON数据 121 
    4.3.3  数据模型Model类的设计 122 
    4.4  使用CocoaPods进行第三方库的管理 124 
    4.4.1  在MAC上安装CocoaPods工具 125 
    4.4.2  用CocoaPods搭建一个使用第三方网络请求框架AlamoFire的工程 126 
    4.5  使用AlamoFire进行网络请求 128 
    4.5.1  详解HTTP/HTTPS协议 128 
    4.5.2  使用AlamoFire进行网络请求 129 
    4.6  实战:开发“笑一笑”应用程序 130 
    4.6.1  工程项目框架的搭建 130 
    4.6.2  “笑一笑”界面数据载体cell的设计 132 
    4.6.3  “笑一笑”界面的搭建 134 
    4.6.4  实现下拉刷新与加载更多功能 137 
    4.6.5  “趣图吧”界面数据载体cell的设计 138 
    4.6.6  “趣图吧”界面的设计 141 
    第5章  音频、视频开发技术 145 
    5.1  iOS音频开发基础——AVAudioPlayer类的使用 145 
    5.1.1  使用AVAudioPlayer进行MP3音频文件的播放 145 
    5.1.2  进行音频播放相关属性的控制 147 
    5.1.3  后台播放音频及用户交互的优化 152 
    5.2  iOS视频开发基础 154 
    5.2.1  使用MPMoviePlayerController向应用中嵌入视频模块 154 
    5.2.2  MPMoviePlayerController常用属性与方法解析 155 
    5.3  视频播放器视图控制器——MPMoviePlayerViewController 158 
    5.4  AVPlayViewController视频播放框架与画中画开发技术 159 
    5.4.1  使用AVPlayerViewController进行视频播放 160 
    5.4.2  iPad的画中画播放技术 162 
    5.5  实战:“歌手王菲”音频播放器的开发 164 
    5.5.1  工程搭建与LRC歌词文件简介 164 
    5.5.2  LRC歌词解析引擎的设计 165 
    5.5.3  核心播放器引擎的设计 168 
    5.5.4  歌曲列表与歌词显示视图界面的设计 173 
    5.5.5  播放器主页面的实现 176 
    5.5.6  后台播放音频用户交互的处理 181 
    第6章  动画开发技术 183 
    6.1  使用UIImageView播放图片组帧动画 184 
    6.2  UIView层动画的应用 185 
    6.2.1  执行UIView层过渡动画的3个类方法 185 
    6.2.2  创建UIView层的阻尼动画 186 
    6.2.3  动画参数配置与组合动画 186 
    6.2.4  UIView层过渡动画支持的属性 188 
    6.3  使用commit方式进行UIView层动画的创建 189 
    6.3.1  使用commit方式进行UIView层过渡动画的创建 189 
    6.3.2  两种UIView层动画创建方式的优劣 190 
    6.4  UIView的转场动画 190 
    6.4.1  重绘UIView视图时使用的转场动画 191 
    6.4.2  切换UIView视图时使用的转场动画 191 
    6.5  核心动画编程技术——CoreAnimation 192 
    6.5.1  锚点对视图控件几何位置的影响 193 
    6.5.2  色彩梯度层——CAGradientLayer 194 
    6.5.3  视图拷贝层——CAReplicatorLayer 194 
    6.5.4  图形渲染层——CAShapeLayer 195 
    6.5.5  文本绘制层——CATextLayer 196 
    6.5.6  CAAnimation动画体系介绍 197 
    6.5.7  使用CABasicAnimation创建基础动画 198 
    6.5.8  使用CAKeyframeAnimation类创建关键帧动画 200 
    6.5.9  CALayer层的转场动画——CATransition 201 
    6.5.10  CALayer层的组合动画——CAAnimationGroup 202 
    6.5.11  CATransform3D变换的应用 203 
    6.6  炫酷的粒子效果 205 
    6.6.1  粒子发射器——CAEmitterLayer 205 
    6.6.2  粒子单元——CAEmitterCell 206 
    6.6.3  创建粒子火焰动画 207 
    6.7  播放GIF动态图 209 
    6.7.1  使用UIWebView进行GIF动态图播放 209 
    6.7.2  使用UIImageView帧动画进行GIF动态图播放 209 
    6.8  实战:小游戏Flappy Bird的设计与开发 210 
    6.8.1  小鸟对象的设计 211 
    6.8.2  游戏开始界面的设计 213 
    6.8.3  游戏结束界面的设计 214 
    6.8.4  Flappy Bird游戏主框架的搭建 215 
    第7章  传感器开发技术 221 
    7.1  为应用程序添加手机密码及指纹识别的安全验证 221 
    7.1.1  使用手机密码为应用程序添加安全验证 222 
    7.1.2  使用用户指纹为应用程序添加安全验证 223 
    7.2  使用加速度传感器、螺旋仪传感器与磁力传感器获取设备空间状态 224 
    7.3  距离传感器的应用 227 
    7.4  iOS蓝牙开发技术 228 
    7.4.1  中心设备管理类CBCentealManager 229 
    7.4.2  外围设备管理类CBPeripheraManager 232 
    7.5  GPS应用与地图编程技术 236 
    7.5.1  进行设备地理位置定位 236 
    7.5.2  原生地图开发技术 238 
    7.5.3  在地图中添加大头针及标注 240 
    7.5.4  在地图视图中添加覆盖物 242 
    7.5.5  在地图中进行线路导航与附近兴趣点检索 244 
    7.6  实战:简易蓝牙对战五子棋 248 
    7.6.1  游戏核心通信类的设计 248 
    7.6.2  棋盘瓦片的设计 254 
    7.6.3  核心游戏视图与游戏核心逻辑的设计 256 
    7.6.4  核心游戏视图控制器的设计 262 
    第8章  界面布局技术 266 
    8.1  iOS中传统的UIViewAutoresizing布局模式 266 
    8.1.1  通过代码设置视图控件的UIViewAutoresizing模式 267 
    8.1.2  在xib文件中可视化地配置控件的autoresizing属性 269 
    8.2  autolayout自动布局框架 270 
    8.2.1  初识autolayout 270 
    8.2.2  autolayout的属性意义与一个简单的自动布局示例 272 
    8.2.3  使用代码进行autolayout布局 275 
    8.2.4  使用格式化的字符串进行autolayout布局对象的创建 277 
    8.2.5  与约束相关的几个方法 279 
    8.2.6  使用autolayout设计一个高度自适应的聊天输入框及动画优化 279 
    8.2.7  使用第三方库SnapKit进行autolayout约束布局 281 
    第9章  数据持久化技术 286 
    9.1  使用plist文件进行轻量级数据持久化管理 286 
    9.1.1  在工程中读取Plist文件数据 286 
    9.1.2  在程序沙盒Documents目录中创建和使用plist文件 288 
    9.1.3  使用NSUserDefaults类进行数据持久化 289 
    9.2  使用归档技术进行数据模型持久化 290 
    9.2.1  进行单一系统数据类型的归档与解归档操作 290 
    9.2.2  对多个对象进行数据归档 291 
    9.2.3  进行自定义数据模型的归档 292 
    9.3  小型数据库SQLite在iOS开发中的应用 293 
    9.4  核心数据管理框架CoreData的使用 296 
    9.4.1  使用CoreData设计数据模型 296 
    9.4.2  CoreData编程框架中3个重要的类 299 
    9.4.3  CoreData编程框架的数据操作 301 
    9.4.4  使用CoreData进行数据与页面的绑定 304 
    9.5  网络缓存策略 307 
    9.5.1  为网络请求设置缓存策略 308 
    9.5.2  应用缓存管理类NSURLCache简介 309 
    第10章  提交应用程序到App Store 310 
    10.1  使用Xcode开发工具进行程序调试 310 
    10.1.1  使用自定义断点进行代码调试 310 
    10.1.2  添加全局异常断点 312 
    10.1.3  使用LLDB调试器进行程序调试 312 
    10.2  Apple开发者账号的申请 313 
    10.2.1  几种类型的开发者账号 313 
    10.2.2  申请开发者账号的过程 314 
    10.3  进行应用程序打包 317 
    10.3.1  在iTunes Connect中进行应用的创建与配置 317 
    10.3.2  使用Xcode打包与提交iTunes 323 
    第11章  更多功能与进阶技巧 327 
    11.1  iOS通知中心NotificaitonCenter的应用 327 
    11.1.1  通知类Notification简介 327 
    11.1.2  通知中心NotificationCenter应用 328 
    11.2  多线程开发技术 329 
    11.2.1  使用Thread进行线程管理 329 
    11.2.2  使用Operation类与OperationQueue类进行多任务管理 331 
    11.2.3  iOS中GCD编程技术简介 333 
    11.3  3D Touch技术的应用 334 
    11.3.1  3D Touch的3大模块 334 
    11.3.2  Home Screen Quick Action使用与相关API详解 335 
    11.4  iOS中语音识别技术的应用 338 
    11.4.1  SpeechFramework框架中的重要类 338 
    11.4.2  申请用户语音识别权限与进行语音识别请求 338 
  • 内容简介:
    本书结合编者多年iOS开发经验,使用iOS 11+Xcode 9+Swift 4开发环境,系统地介绍了iOS应用程序从开发到上架的全过程。从开发环境搭建、界面开发、传感器技术、布局与动画技术、网络和数据技术到打包与上传发布流程等,包含了iOS软件开发核心技术的方方面面。值得注意的是,本书针对每章的技术要点配备了来自工作实践的项目案例,读者可以边学边练,在编写代码中学习编程。 
    本书深入浅出,注重实战,案例丰富,非常适合快速上手iOS开发的新人,也很适合有一定编程基础但缺少开发iOS应用经验的开发人员,还可以作为大中专院校及培训机构的教学用书。 
  • 作者简介:
    张益珲(网名:珲少),多年iOS开发经验,51CTO学院、CSDN学院签约讲师 ,麦子学院金牌讲师,参与开发iOS平台系列游戏:疯狂越狱1-2、应用物通配货软件、VIPExam考试库、证券财经软件等,曾就职于中国唯品会,主要从事移动端应用开发,对iOS开发、React Native跨平台开发及JavaScript前端开发都拥有丰富的经验。曾出版《iOS开发实战:从零基础到App Store上架》《React Native全教程:移动端跨平台应用开发》等多本编程著作。
  • 目录:
    目   录 
    第1章  开发准备 1 
    1.1  iOS 11新特性简述 1 
    1.1.1  新增拖放交互编程接口 2 
    1.1.2  其他新增功能 4 
    1.2  熟悉iOS开发环境 4 
    1.2.1  安装Xcode开发工具 4 
    1.2.2  了解Xcode开发工具主界面 6 
    1.2.3  Xcode开发工具的使用技巧及常用快捷键 7 
    1.3  创建第一个iOS项目 9 
    1.4  使用Git进行项目版本管理 12 
    1.4.1  Git与Github简介 12 
    1.4.2  注册GitHub会员 12 
    1.4.3  使用Xcode创建Git仓库 13 
    1.4.4  用Xcode建立本地Git仓库与GitHub代码托管平台的关联 15 
    第2章  基础UI组件 18 
    2.1  iOS系统UI框架的介绍 18 
    2.1.1  MVC设计模式 19 
    2.1.2  代理设计模式 19 
    2.2  视图控制器——UIViewController 20 
    2.2.1  UIViewController的生命周期 20 
    2.2.2  UIViewController的视图层级结构 24 
    2.3  文本控件——UILabel 24 
    2.3.1  使用UILabel在屏幕上创建一个标签控件 24 
    2.3.2  自定义标签控件的相关属性 25 
    2.3.3  多行显示的UILabel控件与换行模式 26 
    2.4  按钮控件——UIButton 27 
    2.4.1  创建一个按钮改变屏幕颜色 27 
    2.4.2  更加多彩的UIButton控件 29 
    2.5  文本输入框控件——UITextField 31 
    2.5.1  在屏幕上创建一个输入框 31 
    2.5.2  UITextField的常用属性介绍 33 
    2.5.3  UITextField的代理方法 33 
    2.5.4  实现一个监听输入信息的用户名输入框 34 
    2.6  开关控件——UISwitch 35 
    2.6.1  创建一个开关控件 35 
    2.6.2  为UISiwtch控件添加触发方法 36 
    2.7  分页控制器——UIPageControl 37 
    2.8  分段控制器——UISegmentedControl 37 
    2.8.1  UISegmentedControl基本属性的应用 38 
    2.8.2  对UISegmentedControl中的按钮进行增、删、改操作 38 
    2.8.3  UISegmentedControl中按钮宽度的自适应 39 
    2.9  滑块控件——UISlider 40 
    2.9.1  UISlider的创建与常规设置 40 
    2.9.2  对UISlider添加图片修饰 41 
    2.10  活动指示器控件——UIActivityIndicatorView 41 
    2.11  进度条控件——UIProgressView 42 
    2.12  步进控制器——UIStepper 43 
    2.12.1  步进控制器的基本属性使用 43 
    2.12.2  自定义UIStepper按钮图片 44 
    2.13  选择器控件——UIPickerView 44 
    2.13.1  创建一个UIPickerView控件 44 
    2.13.2  UIPickerView选中数据时的回调代理 46 
    2.14  通过CALayer对视图进行修饰 46 
    2.14.1  创建圆角的控件 47 
    2.14.2  创建带边框的控件 47 
    2.14.3  为控件添加阴影效果 48 
    2.15  警告控制器——UIAlertController 48 
    2.15.1  UIAlertController的警告框 48 
    2.15.2  UIAlertController之活动列表 50 
    2.16  基础UI控件扩展篇 51 
    2.16.1  搜索栏控件——UISearchBar 51 
    2.16.2  日期时间选择器——UIDatePicker 52 
    2.16.3  警告视图——UIAlertView 54 
    2.16.4  活动列表——UIActionSheet 54 
    2.17  实战:登录注册界面的搭建 55 
    第3章  高级UI控件 59 
    3.1  导航控制器——UINavigationController 60 
    3.1.1  导航控制器的工作原理 60 
    3.1.2  使用导航控制器进行多界面搭建 61 
    3.1.3  导航栏UINavigationBar 63 
    3.1.4  导航按钮UIBarButtonItem 65 
    3.1.5  导航控制器的工具栏 67 
    3.1.6  iOS 8系统之后导航控制器的一些有趣功能 67 
    3.2  标签控制器——UITabBarController 68 
    3.2.1  标签控制器的工作原理 68 
    3.2.2  标签控制器的基础用法解析 68 
    3.2.3  关于UITabBarItem的使用 70 
    3.3  滚动视图——UIScrollView 71 
    3.3.1  使用UIScrollView展示视图内容 71 
    3.3.2  UIScrollView的代理方法 72 
    3.4  网络视图——UIWebView 74 
    3.4.1  App网络传输安全策略 74 
    3.4.2  通过网络请求加载UIWebView 75 
    3.4.3  通过HTML字符串加载UIWebView 75 
    3.4.4  通过Data数据加载UIWebView 76 
    3.4.5  UIWebView中常用方法解析 76 
    3.4.6  UIWebView的代理方法 77 
    3.5  表格视图——UITableView 78 
    3.5.1  UITableView的创建与复用机制 78 
    3.5.2  创建一个表格视图UITableView 79 
    3.5.3  关于表格数据的载体UITableViewCell 81 
    3.5.4  设置UITableView的行高和头尾视图 82 
    3.5.5  UITableView的用户交互行为 83 
    3.5.6  为UITableView添加索引栏 85 
    3.6  复杂布局视图——UICollectionView 85 
    3.6.1  UICollectionView控件的优势与布局方式 86 
    3.6.2  使用UICollectionView进行九宫格式的布局 86 
    3.6.3  创建更加灵活的流式布局 88 
    3.6.4  自定义UICollectionViewFlowLayout进行参差瀑布流布局 88 
    3.6.5  使用UICollectionView进行圆环布局 91 
    3.7  实战:开发一款手机网页浏览器 93 
    3.7.1  网页浏览器工程的搭建 93 
    3.7.2  核心网页视图的设计 94 
    3.7.3  历史记录界面的设计 101 
    3.7.4  收藏界面的设计 102 
    3.7.5  启动页面、图标及应用名称的相关优化 103 
    3.8  扩展内容 106 
    3.8.1  应用内评价组件 106 
    3.8.2  进行系统拨号与短信界面的调用 106 
    3.8.3  拖拽交互体验 107 
    第4章  网络编程技术 111 
    4.1  使用NSURLConnection请求网络数据 111 
    4.1.1  申请一个免费的API服务 112 
    4.1.2  使用NSURLConnection进行API服务数据的获取 114 
    4.1.3  使用NSURLConnection进行异步网络请求 115 
    4.1.4  使用NSURLConnection类通过代理回调的方式异步请求 116 
    4.2  设计封装一个更加易用的网络请求类 117 
    4.2.1  设计自定义的网络请求连接类 117 
    4.2.2  设计自定义的网络请求管理类 118 
    4.3  JSON类型数据的解析与数据模型的设计 120 
    4.3.1  JSON数据简介 120 
    4.3.2  在iOS中解析JSON数据 121 
    4.3.3  数据模型Model类的设计 122 
    4.4  使用CocoaPods进行第三方库的管理 124 
    4.4.1  在MAC上安装CocoaPods工具 125 
    4.4.2  用CocoaPods搭建一个使用第三方网络请求框架AlamoFire的工程 126 
    4.5  使用AlamoFire进行网络请求 128 
    4.5.1  详解HTTP/HTTPS协议 128 
    4.5.2  使用AlamoFire进行网络请求 129 
    4.6  实战:开发“笑一笑”应用程序 130 
    4.6.1  工程项目框架的搭建 130 
    4.6.2  “笑一笑”界面数据载体cell的设计 132 
    4.6.3  “笑一笑”界面的搭建 134 
    4.6.4  实现下拉刷新与加载更多功能 137 
    4.6.5  “趣图吧”界面数据载体cell的设计 138 
    4.6.6  “趣图吧”界面的设计 141 
    第5章  音频、视频开发技术 145 
    5.1  iOS音频开发基础——AVAudioPlayer类的使用 145 
    5.1.1  使用AVAudioPlayer进行MP3音频文件的播放 145 
    5.1.2  进行音频播放相关属性的控制 147 
    5.1.3  后台播放音频及用户交互的优化 152 
    5.2  iOS视频开发基础 154 
    5.2.1  使用MPMoviePlayerController向应用中嵌入视频模块 154 
    5.2.2  MPMoviePlayerController常用属性与方法解析 155 
    5.3  视频播放器视图控制器——MPMoviePlayerViewController 158 
    5.4  AVPlayViewController视频播放框架与画中画开发技术 159 
    5.4.1  使用AVPlayerViewController进行视频播放 160 
    5.4.2  iPad的画中画播放技术 162 
    5.5  实战:“歌手王菲”音频播放器的开发 164 
    5.5.1  工程搭建与LRC歌词文件简介 164 
    5.5.2  LRC歌词解析引擎的设计 165 
    5.5.3  核心播放器引擎的设计 168 
    5.5.4  歌曲列表与歌词显示视图界面的设计 173 
    5.5.5  播放器主页面的实现 176 
    5.5.6  后台播放音频用户交互的处理 181 
    第6章  动画开发技术 183 
    6.1  使用UIImageView播放图片组帧动画 184 
    6.2  UIView层动画的应用 185 
    6.2.1  执行UIView层过渡动画的3个类方法 185 
    6.2.2  创建UIView层的阻尼动画 186 
    6.2.3  动画参数配置与组合动画 186 
    6.2.4  UIView层过渡动画支持的属性 188 
    6.3  使用commit方式进行UIView层动画的创建 189 
    6.3.1  使用commit方式进行UIView层过渡动画的创建 189 
    6.3.2  两种UIView层动画创建方式的优劣 190 
    6.4  UIView的转场动画 190 
    6.4.1  重绘UIView视图时使用的转场动画 191 
    6.4.2  切换UIView视图时使用的转场动画 191 
    6.5  核心动画编程技术——CoreAnimation 192 
    6.5.1  锚点对视图控件几何位置的影响 193 
    6.5.2  色彩梯度层——CAGradientLayer 194 
    6.5.3  视图拷贝层——CAReplicatorLayer 194 
    6.5.4  图形渲染层——CAShapeLayer 195 
    6.5.5  文本绘制层——CATextLayer 196 
    6.5.6  CAAnimation动画体系介绍 197 
    6.5.7  使用CABasicAnimation创建基础动画 198 
    6.5.8  使用CAKeyframeAnimation类创建关键帧动画 200 
    6.5.9  CALayer层的转场动画——CATransition 201 
    6.5.10  CALayer层的组合动画——CAAnimationGroup 202 
    6.5.11  CATransform3D变换的应用 203 
    6.6  炫酷的粒子效果 205 
    6.6.1  粒子发射器——CAEmitterLayer 205 
    6.6.2  粒子单元——CAEmitterCell 206 
    6.6.3  创建粒子火焰动画 207 
    6.7  播放GIF动态图 209 
    6.7.1  使用UIWebView进行GIF动态图播放 209 
    6.7.2  使用UIImageView帧动画进行GIF动态图播放 209 
    6.8  实战:小游戏Flappy Bird的设计与开发 210 
    6.8.1  小鸟对象的设计 211 
    6.8.2  游戏开始界面的设计 213 
    6.8.3  游戏结束界面的设计 214 
    6.8.4  Flappy Bird游戏主框架的搭建 215 
    第7章  传感器开发技术 221 
    7.1  为应用程序添加手机密码及指纹识别的安全验证 221 
    7.1.1  使用手机密码为应用程序添加安全验证 222 
    7.1.2  使用用户指纹为应用程序添加安全验证 223 
    7.2  使用加速度传感器、螺旋仪传感器与磁力传感器获取设备空间状态 224 
    7.3  距离传感器的应用 227 
    7.4  iOS蓝牙开发技术 228 
    7.4.1  中心设备管理类CBCentealManager 229 
    7.4.2  外围设备管理类CBPeripheraManager 232 
    7.5  GPS应用与地图编程技术 236 
    7.5.1  进行设备地理位置定位 236 
    7.5.2  原生地图开发技术 238 
    7.5.3  在地图中添加大头针及标注 240 
    7.5.4  在地图视图中添加覆盖物 242 
    7.5.5  在地图中进行线路导航与附近兴趣点检索 244 
    7.6  实战:简易蓝牙对战五子棋 248 
    7.6.1  游戏核心通信类的设计 248 
    7.6.2  棋盘瓦片的设计 254 
    7.6.3  核心游戏视图与游戏核心逻辑的设计 256 
    7.6.4  核心游戏视图控制器的设计 262 
    第8章  界面布局技术 266 
    8.1  iOS中传统的UIViewAutoresizing布局模式 266 
    8.1.1  通过代码设置视图控件的UIViewAutoresizing模式 267 
    8.1.2  在xib文件中可视化地配置控件的autoresizing属性 269 
    8.2  autolayout自动布局框架 270 
    8.2.1  初识autolayout 270 
    8.2.2  autolayout的属性意义与一个简单的自动布局示例 272 
    8.2.3  使用代码进行autolayout布局 275 
    8.2.4  使用格式化的字符串进行autolayout布局对象的创建 277 
    8.2.5  与约束相关的几个方法 279 
    8.2.6  使用autolayout设计一个高度自适应的聊天输入框及动画优化 279 
    8.2.7  使用第三方库SnapKit进行autolayout约束布局 281 
    第9章  数据持久化技术 286 
    9.1  使用plist文件进行轻量级数据持久化管理 286 
    9.1.1  在工程中读取Plist文件数据 286 
    9.1.2  在程序沙盒Documents目录中创建和使用plist文件 288 
    9.1.3  使用NSUserDefaults类进行数据持久化 289 
    9.2  使用归档技术进行数据模型持久化 290 
    9.2.1  进行单一系统数据类型的归档与解归档操作 290 
    9.2.2  对多个对象进行数据归档 291 
    9.2.3  进行自定义数据模型的归档 292 
    9.3  小型数据库SQLite在iOS开发中的应用 293 
    9.4  核心数据管理框架CoreData的使用 296 
    9.4.1  使用CoreData设计数据模型 296 
    9.4.2  CoreData编程框架中3个重要的类 299 
    9.4.3  CoreData编程框架的数据操作 301 
    9.4.4  使用CoreData进行数据与页面的绑定 304 
    9.5  网络缓存策略 307 
    9.5.1  为网络请求设置缓存策略 308 
    9.5.2  应用缓存管理类NSURLCache简介 309 
    第10章  提交应用程序到App Store 310 
    10.1  使用Xcode开发工具进行程序调试 310 
    10.1.1  使用自定义断点进行代码调试 310 
    10.1.2  添加全局异常断点 312 
    10.1.3  使用LLDB调试器进行程序调试 312 
    10.2  Apple开发者账号的申请 313 
    10.2.1  几种类型的开发者账号 313 
    10.2.2  申请开发者账号的过程 314 
    10.3  进行应用程序打包 317 
    10.3.1  在iTunes Connect中进行应用的创建与配置 317 
    10.3.2  使用Xcode打包与提交iTunes 323 
    第11章  更多功能与进阶技巧 327 
    11.1  iOS通知中心NotificaitonCenter的应用 327 
    11.1.1  通知类Notification简介 327 
    11.1.2  通知中心NotificationCenter应用 328 
    11.2  多线程开发技术 329 
    11.2.1  使用Thread进行线程管理 329 
    11.2.2  使用Operation类与OperationQueue类进行多任务管理 331 
    11.2.3  iOS中GCD编程技术简介 333 
    11.3  3D Touch技术的应用 334 
    11.3.1  3D Touch的3大模块 334 
    11.3.2  Home Screen Quick Action使用与相关API详解 335 
    11.4  iOS中语音识别技术的应用 338 
    11.4.1  SpeechFramework框架中的重要类 338 
    11.4.2  申请用户语音识别权限与进行语音识别请求 338 
查看详情
相关图书 / 更多
移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)
移动通信组网与优化
杨国荣
移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)
移动通信技术与网络维护
陈小东 主编;曾翎
移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)
移动的圣城:四座欧亚城市的隐秘传记
刘爽
移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)
移动云朵的人
英格里德·罗哈斯·孔特雷拉斯 张竝
移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)
移动电子商务运营
李志刚
移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)
移动商务基础与实务(慕课版)
方英
移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)
移动性数据建模、管理和分析
(意大利)基娅拉·伦索
移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)
移动应用行业知识产权法律实务
陶乾
移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)
移动通信概论
俞洋
移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)
移动商务基础
张成武
移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)
移动通信信号室内覆盖原理及工程设计(第二版)
李国华
移动开发丛书·iOS开发实战:从零基础到上架AppStore(第3版)
移动社会网络中信息传播与控制
许力