watchOS2 和 iOS8 连通性 - Swift

watchOS2 and iOS8 connectivity - Swift

对于 watchOS1 有几种有限但有效的方法可用于在手表和 phone 之间共享数据 - 例如 openParentAppAppGroupsNSUserDefaults.

随着 watchOS2WatchConnectivity 框架的发布 - openParentApp 方法已弃用,AppGroupsNSUserDefaults 仅限于只读功能。需要注意的是,只有 iOS9 设备支持 WatchConnectivity。

但不知何故,我在 AppStore 上看到应用程序声称针对 watchOS2 进行了优化,而 将 iOS8 作为部署目标。

我错过了什么吗? 有没有其他方法可以充分共享数据?

有些用户可能没有 Apple Watch,他们可能会使用 iOS8。 为了支持它们,您可以为每个构建目标设置每个部署目标版本。

喜欢项目中的这些示例目标:

  • iOS 应用程序(目标:iOS 8.x,您必须将 WatchConnectivity 框架设置为可选)
  • watchOS 2 应用程序(目标:iOS 9.x & watchOS 2)-> iOS8 用户无法安装手表应用程序。
  • watchOS 2 应用扩展(目标:iOS 9.x & watchOS 2)

在 iOS 应用程序代码中,您可以使用以下代码检查 WatchConnectivity 可用性:

NSClassFromString(@"WCSession") != nil;

据我所知,你也可以同时提供watchOS 1 App,但我没有测试。不能用模拟器测试,我也没有其他有 watchOS1 的 apple watch。