内容简介:
过阅读本书,你将能够:
了解OS X和iOS应用的生命周期
使用故事板设计自适应界面
探索图形系统,包括内置的2D和3D游戏框架
用AVFoundation显示视频和音频
用文件系统在本地存储数据,或者用iCloud在网络上存储数据
用表格视图和集合视图显示数据列表或数据集合
开发可供用户创建、编辑和处理文档的应用
使用MapKit、Core Location和Core Motion与现实世界交互
作者简介:
作者简介:
Jonathon Manning
是澳大利亚独立游戏开发工作室Secret Lab的联合创始人,移动应用工程师、游戏设计师、程序员和计算学研究人员,从事过各种项目,曾为孩子们开发过iPad游戏,也开发过即时通信客户端。Twitter账号为@desplesda。
Paris Buttfield-Addison
也是Secret Lab的联合创始人,移动应用工程师、游戏设计师和计算学研究人员,致力于使技术变得简单又有趣。Paris拥有计算学博士学位。Twitter账号为@parisba。
Tim Nugent
是一位移动应用开发人员、游戏设计师、博士生、作家。大部分时间都用来设计和开发仅供自己娱乐的小应用和游戏。Twitter账号为@The_McJones。
目录:
前言XIII
第1章 Cocoa开发工具1
1.1 Mac和iOS开发者计划1
1.1.1 注册开发者计划2
1.1.2 下载Xcode3
1.2 用Xcode创建自己的第一个项目4
1.3 开发一个简单的Swift应用程序11
1.3.1 设计界面11
1.3.2 连接代码13
1.4 使用iOS模拟器14
1.5 用TestFlight测试iOS App16
第2章 用Swift设计程序17
2.1 Swift程序设计语言17
2.2 playground19
2.3 变量和常量20
2.4 类型21
2.4.1 元组23
2.4.2 数组23
2.4.3 字典25
2.5 控制流25
2.6 函数与闭包29
2.6.1 将函数用作变量32
2.6.2 闭包34
2.7 对象35
2.7.1 继承36
2.7.2 初始化与反初始化37
2.7.3 属性38
2.7.4 协议40
2.7.5 扩展41
2.7.6 访问控制43
2.7.7 运算符44
2.7.8 泛型45
2.8 与Objective-C的互操作46
2.9 在同一项目中使用Objective-C和Swift46
2.9.1 在Objective-C中使用Swift对象46
2.9.2 在Swift中使用Objective-C47
2.10 模块48
2.11 内存管理48
2.12 字符串49
2.12.1 比较字符串50
2.12.2 查找字符串50
2.13 数据50
2.13.1 从文件和URL加载数据51
2.13.2 序列化与反序列化51
2.14 Cocoa中的设计模式52
2.14.1 模型- 视图- 控制器52
2.14.2 委托53
第3章 OS X和iOS上的应用程序56
3.1 什么是应用程序56
3.1.1 应用程序、框架、实用工具及其他57
3.1.2 App的构成58
3.1.3 用NSBundle在应用程序中查找资源60
3.2 应用程序生命周期61
3.2.1 OS X应用程序61
3.2.2 iOS应用程序62
3.3 应用程序沙盒67
3.4 用NSNotification发送通知70
第4章 图形用户界面72
4.1 OS X和iOS中的界面72
4.2 MVC和应用程序设计73
4.3 nib文件和故事板73
4.3.1 nib文件的结构74
4.3.2 故事板77
4.3.3 输出口和操作77
4.3.4 如何加载nib文件和故事板78
4.4 构建界面79
4.5 构建具有nib和约束的App81
4.6 iOS上的界面84
4.7 UI Dynamics87
4.7.1 UI和重力87
4.7.2 吸附UI88
4.8 Core Animation89
4.8.1 层90
4.8.2 动画91
第5章 闭包和操作队列94
5.1 Cocoa中的闭包95
5.2 操作队列中的并发96
5.3 操作队列和NSOperation96
5.4 在操作队列中执行工作97
5.5 融会贯通98
第6章 在视图上绘制图形103
6.1 如何绘制103
6.2 像素网格105
6.2.1 Retina显示屏106
6.2.2 像素与屏幕点107
6.3 在视图中绘制107
6.3.1 框架矩形107
6.3.2 边界矩形108
6.4 创建自定义视图109
6.4.1 用纯色填充110
6.4.2 处理路径111
6.4.3 创建自定义路径112
6.4.4 多条子路径114
6.4.5 阴影115
6.4.6 渐变119
6.4.7 变换121
第7章 SpriteKit123
7.1 SpriteKit的体系结构123
7.2 制作使用SpriteKit的App124
7.3 使用SpriteKit场景125
7.4 SpriteKit节点127
7.5 将精灵放在场景中128
7.6 对触碰作出响应129
7.7 使用纹理130
7.8 纹理贴图集131
7.9 使用文本131
7.10 用操作实现内容的动画133
7.11 使用形状节点134
7.12 使用图像特效节点135
7.13 向SpirteKit对象增加物理属性137
7.14 向SpriteKit对象添加接合138
7.15 SpriteKit场景照明138
7.16 约束139
7.17 在SpriteKit中使用阴影140
7.18 使用SpriteKit编辑器142
第8章 SceneKit143
8.1 SceneKit结构144
8.2 使用SceneKit144
8.3 添加SceneKit视图145
8.4 添加场景146
8.5 添加照相机146
8.6 添加3D对象147
8.7 添加光源149
8.8 为场景中的内容实现动画150
8.9 创建文本几何体151
8.10 使用材料153
8.11 命中检测157
8.12 约束158
8.13 从COLLADA文件中加载数据160
8.14 向场景中添加物理仿真162
第9章 音频与视频165
9.1 AV Foundation165
9.2 用AVPlayer播放视频166
9.2.1 AVPlayerLayer167
9.2.2 融会贯通167
9.2.3 AVKit170
9.2.4 iOS上的AVKit172
9.2.5 用AVAudioPlayer播放声音174
9.3 语音合成175
9.4 使用照片库176
9.4.1 从相机采集照片和视频176
9.4.2 开发照片应用程序178
9.4.3 照片库181
第10章 iCloud和数据存储182
10.1 偏好设置182
10.1.1 注册默认偏好设置183
10.1.2 访问偏好设置184
10.1.3 设定偏好设置184
10.2 使用文件系统184
10.2.1 使用NSFileManager186
10.2.2 文件存储位置189
10.3 使用沙盒189
10.3.1 启用沙盒190
10.3.2 打开和保存面板190
10.3.3 安全范围内的书签191
10.4 iCould192
10.5 iCloud存储什么193
10.6 为iCloud进行设置194
10.7 测试iCloud是否正常工作194
10.8 存储设置195
10.8.1 处理外部修改196
10.8.2 iOS上的相应内容197
10.9 iCloud存储199
10.9.1 OS X上的iCloud存储200
10.9.2 iOS上的iCloud存储204
10.10 文档选取器206
10.11 iCloud的最佳使用210
第11章 Cocoa绑定211
11.1 将视图绑定到模型211
11.2 一个简单的绑定App212
11.3 绑定到控制器214
11.4 数组和对象控制器216
11.5 一个更复杂的绑定App216
第12章 表格视图和集合视图223
12.1 数据源和委托223
12.2 表格视图224
12.2.1 iOS上的UITableView224
12.2.2 OS X上的NSTableView231
12.3 集合视图236
第13章 基于文档的应用程序240
13.1 NSDocument和UIDocument类241
13.2 MVC 中的文档对象241
13.2.1 文档的类型241
13.2.2 文档的角色242
13.3 OS X上基于文档的应用程序243
13.3.1 自动保存与版本243
13.3.2 用NSDocument表示文档243
13.3.3 保存简单数据244
13.3.4 保存更复杂的数据246
13.4 iOS上基于文档的应用程序250
第14章 联网257
14.1 连接257
14.1.1 NSURL258
14.1.2 NSURLRequest259
14.1.3 NSURLSession259
14.1.4 NSURLResponse和NSHTTPURLResponse260
14.2 开发联网应用程序261
14.3 Bonjour服务的发现262
14.4 Multipeer Connectivity264
第15章 与现实世界互动269
15.1 使用位置269
15.1.1 位置硬件270
15.1.2 Core Location框架271
15.1.3 使用Core Location272
15.2 地理编码275
15.3 区域监测和iBeacon278
15.4 位置与隐私281
15.5 地图281
15.5.1 使用地图281
15.5.2 标记地图282
15.5.3 地图与覆盖物282
15.6 设备运动284
15.6.1 使用Core Motion285
15.6.2 使用内置高度计288
15.6.3 使用计步器289
15.7 打印文档290
15.7.1 在OS X 上打印291
15.7.2 在iOS 上打印291
15.8 Game Controller293
15.9 App Nap295
15.10 用Touch ID验证296
15.11 Handoff300
第16章 EventKit305
16.1 理解事件305
16.2 访问事件存储库306
16.3 访问日历307
16.4 访问事件307
16.5 处理事件308
16.6 开发一个事件应用程序310
16.7 用户隐私314
第17章 Instruments和调试器315
17.1 开始使用Instruments316
17.1.1 Instruments 界面318
17.1.2 观察数据318
17.1.3 从Library中添加Instruments319
17.2 用Instruments解决问题320
17.3 循环保留和漏洞324
17.4 使用调试器326
17.4.1 设置断点326
17.4.2 查看内存内容328
17.4.3 使用调试器控制台329
17.5 视图调试329
17.6 测试框架331
17.6.1 编写测试332
17.6.2 编写异步测试333
17.6.3 性能测试块334
17.7 调试仪表334
17.8 性能优化334
第18章 共享与通知336
18.1 共享336
18.2 在iOS上共享339
18.3 在OS X上共享341
18.4 通知342
18.4.1 注册通知设置342
18.4.2 推送通知347
18.4.3 通知到达时会发生什么347
18.5 发送推送通知348
18.6 设置接收推送通知349
18.7 接收推送通知350
18.8 本地通知352
第19章 非标准App354
19.1 命令行工具354
19.2 偏好设置窗格355
19.2.1 偏好设置窗格如何工作356
19.2.2 偏好设置域356
19.2.3 生成示例偏好设置窗格357
19.3 状态栏项目359
19.4 多窗口iOS App361
第20章 处理文本364
20.1 国际化与本地化364
20.1.1 字符串文件364
20.1.2 创建一个示例本地化应用程序365
20.2 用NSFormatter设定数据格式372
20.3 设定数字、长度、质量、能量和数据的格式374
20.3.1 NSNumberFormatter374
20.3.2 NSEnergyFormatter、NSMassFormatter 和NSLengthFormatter375
20.3.3 NSByteCountFormatter376
20.4 用NSDataDetector检测数据377
20.5 TextKit379
作者介绍382
封面介绍382
文章试读:Xcode 是围绕单窗口设计的。你的每个项目都会有一个窗口,它的大小会相应调整,以显示你正在处理的内容。 为了开始探索Xcode,首先需要创建一个项目,步骤如下。(1) 启动Xcode。打开Spotlight(按下Command- 空格键),并键入“Xcode”,就能找到它。也可以通过以下方式找到它:打开Finder,进入硬盘,打开“应用程序”目录。如果之前曾经打开过任何项目,Xcode 会...
(查看全部试读)