【问题标题】:Something like shared NSUserDefaults and App Groups in watchOS 2?watchOS 2 中的共享 NSUserDefaults 和 App Groups 之类的东西?
【发布时间】:2015-09-12 22:29:15
【问题描述】:

我目前正在为 watchOS 2 更新我的应用程序,但在设备之间的通信方面遇到了一些问题:以前我一直在使用共享的 NSUserDefaults 来启用 Watch 和 iOS 设备从一个应用程序组读取和写入多个值独立。

现在 watchOS 2 应用程序在 Watch 上本地运行,并且 Watch Connectivity Framework 取代了以前的通信选项,这似乎不再适用。但是,根据我在参考资料中阅读的内容,使用 Watch Connectivity 实现与 wa​​tchOS 1 中相同的功能相当麻烦……

我还有其他选择可以创建某种容器/文件/数据库/任何东西,我可以从我的 Watch 应用程序和相关的 iOS 应用程序访问和更新吗?

【问题讨论】:

  • 如果您只想阅读 Apple Watch 上的NSUserDefaults,那么您仍然可以使用应用组来执行此操作。查看手表设置编程指南,了解有关其工作原理的更多信息:developer.apple.com/library/watchos/documentation/General/…
  • 好的,很酷。这对于我仍然需要为 watchOS 2 更新的其他应用程序可能很有用。不过,在这种情况下,我需要读写,所以我从应用程序组切换到使用 Watch Connectivity 框架,该框架(经过一些故障排除后)工作得很好出色地。现在,我在两台设备上需要的值分别存储在 Watch 和 iOS 设备上的 NSUserDefaults 中,每当一个设备必须对其进行更改时,都会将 userInfo-Dictionary 发送到该值所在的另一台设备也变了。

标签: swift nsuserdefaults ios-app-group watchos-2


【解决方案1】:

使用 watchOS 2,WatchKit 应用程序和扩展程序都在 Apple Watch 上本地运行,因此即使您使用共享用户默认值或应用程序组,您放入其中的数据也会在手表上,因此无法从 iOS 应用程序访问。

要将数据发送到手表,您可以使用 WatchConnectivity 框架,或使用 NSURLSession 从服务器下载数据。

【讨论】:

  • 谢谢 :) 我得想办法让这个功能与 Watch Connectivity 框架一起工作......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多