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

© 柳柳桑 黑马粉丝团   /  2015-9-10 11:08  /  8620 人查看  /  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
14#
Apple 。。。。。。。。
回复 使用道具 举报
深圳什么时候开IOS班
回复 使用道具 举报
暂时看不懂,mark再说
回复 使用道具 举报
GG
回复 使用道具 举报

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