2

watchOS >= 2.2sessionDidDeactivate: , iOS >= 9.3 iOS 设备可以通过,连接多个手表设备sessionDidBecomeInactive:

但是,这些委托调用中没有提供身份。

是否有任何系统方法来识别不同的连接手表。

我必须手动操作它吗?例如,检查新连接的手表是否有身份,如果没有,则给它新的id。收到 id 后,手表还需要将其保存在某个地方。NSUserDefaults在这种情况下听起来是个好地方。

4

1 回答 1

3

WCSession文档中,Apple 建议将特定于手表的数据存储到该watchDirectoryURL位置,并通过 WCSession 与连接的应用程序通信此信息

您的 iOS 应用程序可以使用watchDirectoryURL属性来存储特定于在特定 Apple Watch 上运行的 Watch 应用程序的一个实例的数据。在大多数情况下,您在 Watch 应用的每个实例中显示的数据都是相同的。但是,您可以使用此目录来存储 iOS 应用程序与 Watch 应用程序正确交互所需的配置数据、首选项或其他数据文件。如果您这样做,请使用激活和停用过程来更新您的 iOS 应用程序。

您可以在此位置存储 UUID 或类似的唯一标识符以区分手表。

于 2017-02-14T23:07:12.123 回答