美文网首页
Apple Watch开发-获取数据的几种方式

Apple Watch开发-获取数据的几种方式

作者: Aaron升 | 来源:发表于2021-05-19 18:07 被阅读0次

    概述

    Watch App 一般需要展示外部数据,它可以直接从web服务、CloudKit或其他在线资源访问数据。也可以从配对的iPhone共享数据,但这不是 Watch App 访问数据的主要方式。

    直接访问数据

    Watch App 应用程序可以直接连接到Web服务和其他在线资源。发出这些请求时,系统可以通过配对的iPhone作为代理、通过已知的WiFi网络或通过手表自己的蜂窝连接来发送数据。

    使用URLSession对象发出网络请求,会话的类型取决于 Watch App 需求:

    • 默认会话或临时会话
      如果您的应用程序在前台运行,请使用默认会话临时会话,以避免延迟您的请求。更多信息请看 Making Default and Ephemeral Requests

    • 后台会话
      如果您的应用程序在后台运行(或即将变为非活动状态),请使用后台会话以确保请求完成。后台会话可确保即使您的应用程序变为非活动状态或终止,您的应用程序最终仍会收到响应。但是,系统可能会根据可用资源延迟或推迟后台会话。更多信息请看 Making Background Requests.

    与配对的iPhone共享数据

    尽管watchOS应用可以安排定期的后台任务来更新其信息,但这些任务受到严格限制-无论是每天可以唤醒应用的次数,还是唤醒应用可以运行的时间。此外,不能保证 Watch App 有后台执行时间,那些存在于表盘小部件的App和扩展坞中的App(如图1和图2所示),系统会给予更高的优先级。

    图1 具有活跃的表盘小部件的App 图2 扩展坞中的App

    如果 Watch App 已安装了配套的iOS App,则可以利用它来从其配套软件中更新 Watch App 。例如,如果用户的iPhone和Apple Watch可以相互通信,请使用 Watch Connectivity 框架将更新从iOS发送到watchOS。

    但是,WatchConnectivity并非始终可用。在watchOS 6及更高版本中,用户可能不会为其独立的watchOS应用程序安装配套的iOS App。此外,随着Watch Series 3(GPS +蜂窝网络)的发布,即使相依的应用程序也可能会长时间远离配对的iPhone。因此不能依靠WatchConnectivity作为更新 Watch App 的唯一方法。而是将WatchConnectivity框架用作机会优化方法,而不是提供新鲜数据的主要方法。

    Watch App 的几种网络请求方式

    当watchOS应用程序进行网络请求时,系统可以通过配对的iPhone作为代理、通过已知的WiFi网络或通过手表自己的蜂窝连接来发送数据。在开发应用程序时,应确保在这三种路由中测试网络请求是否可用。

    首先,手表尝试通过配对的iPhone代理请求。手表通过蓝牙与手机通信,共享手机与互联网的连接。连接到配对的iPhone时,控制中心在左上角显示一个绿色的iPhone图标。


    如果手表无法连接到配对的iPhone,但可以连接到已知的WiFi网络(用户以前用手机登录过的网络),则它将使用WiFi网络发送请求。连接到已知网络后,控制中心将在左上角显示WiFi网络。


    最后,如果手表无法连接至已配对的iPhone或已知的WiFi网络,它将使用自己的蜂窝连接发送请求。此路线仅在Apple Watch Series 3(GPS +蜂窝电话)上可用。使用蜂窝连接时,控制中心在左上角以绿色点显示蜂窝连接的信号强度。


    参考资料

    watchOS官方文档

    相关文章

      网友评论

          本文标题:Apple Watch开发-获取数据的几种方式

          本文链接:https://www.haomeiwen.com/subject/phnodltx.html