A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 柳柳桑 黑马粉丝团   /  2015-9-10 11:08  /  7441 人查看  /  48 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


iOS9新框架—Watch Connectivity

——齐瑞华

1、背景
Watch Connectivity--专为用来实现Watch与配对iPhone上的文件和数据的来回传输而生


2、iOS8与iOS9发送数据的对比
我们知道数据交换在iOS8中就有,我们来来回顾一下iOS8是如何进行数据通信的。

我们知道iOS8只能通过Watch主动向iPhone发送数据,让iPhone做出响应,而不能有一个交互的互动。既然我们说了WatchConnectivity是为文件和数据的来回传输而生,那我们看一下他的通讯图:


我们看到这样的数据流是双向的,也就是说既可以Watch主动向iPhone发送数据,也可以让iPhone主动向Watch发送数据


3、WCSession
)API描述之后,我们发现对于Watch与iPhone其关联连接作用的类是WCSession,接下来我们来就了解一下WCSession,看一看他的使用。



3.1、WCSession简单介绍
)之后,映入眼帘的是这一段代码:

第一行代码的意思是:Session是永远支持WatchOS的,因此我们是为了检查iOS设置是否支持Session。
第二行的代码意思是:获取一个默认Session实例
第三行的代码意思是:设置Session的代理
第四行的代码意思是:设置Session为活跃状态


3.2、WCSession的状态
1】        session.paired  是否已与设备配对
2】        session.watchAppInstalled  watchApp是否已安装
3】        session.complicationEnabled  complication 是否可用

4、通讯的分类--WatchConnectivity框架的通信方式有两种模式,一种是后台传输,另一种是交互式消息。
1】后台传输
2】互动消息


4.1 后台传输
  后台传输模式是最常用的通信模式,面向内容与用户交互,主要用于传输非即时的内容,体现在内容可由操作系统智能传输(操作系统允许发送方可退出,选择传输时机,支持接收者下次启动时发送),并将内容以队列方式发送。
   类型
       应用上下文内容传输(ApplicationContext)
       用户数据传输(UserInfo)
       文件传输 (File)
三者数据传输的代码类似,我们只以File传输为例,写一下示例代码:
传输:

获取正在传输的文件内容:

接收


4.2交互消息
1】效果

2】实现步骤
获取默认WCSession并开启
实现WCSessionDelegate接收回调方法
发送消息并处理响应消息
接收端处理接收和响应(可选)
3】代码
开启Session以及发送消息并处理响应消息代码

激活Session

实现WCSessionDelegate接收回调方法


5、最后我们通过对比来回顾和深化一下Watch Connectivity框架
1】iOS8 中 watch 与iPhone之间通信只能通过 watch主动发起请求,iPhone响应这个请求的方式来完成一次通信,不能够iPhone直接连接watch向watch发送数据。
iOS9中watch 与iPhone之间通信,可以双向操作,既可以watch主动发送数据到iPhone。也可以iPhone主动发送数据到Watch。

2】iOS8中发送数据的内容只能为普通的字典数据类型
iOS9中不但能发送简单的字典数据,还可以支持发送一些数据(NSData)及文件类型

48 个回复

倒序浏览
IOS,加油
回复 使用道具 举报
又是新知识啊· 貌似要学的真多
回复 使用道具 举报
技术解析的太快了
回复 使用道具 举报
iOS很牛,安卓也要加油了↖(^ω^)↗
回复 使用道具 举报
虽然现在看不太懂,但我相信用不了多久了,嘿嘿
回复 使用道具 举报
要学的很多啊,高科技面前每个人都是屌丝
回复 使用道具 举报
学无止境
回复 使用道具 举报
这个行业就不断学习的过程,新的技术出来一方面是给我们带来新奇的体验感受,另一方面是要求开发者不断是学习适应,做出的东西真的是足够便利吸引人。要学习的东西很多,大好基础,不断学习。
回复 使用道具 举报 1 0
黑马94腻害!!!!
回复 使用道具 举报
要好好学习
回复 使用道具 举报
创新永不停止
回复 使用道具 举报
学习学习!
回复 使用道具 举报
得好好学习下了
回复 使用道具 举报
itufo 中级黑马 2015-9-11 11:07:40
15#
Apple 。。。。。。。。
回复 使用道具 举报
学习学习!
回复 使用道具 举报
深圳什么时候开IOS班
回复 使用道具 举报
暂时看不懂,mark再说
回复 使用道具 举报
GG
回复 使用道具 举报

又是新知识啊· 貌似要学的真多
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马