从iOS共享AsyncStorage将本机应用程序与Apple Watch相结合

时间:2018-01-13 02:32:10

标签: ios swift react-native apple-watch asyncstorage

我正在使用反应本机和Apple Watch与Swift开发主应用程序。

主应用程序(本机反应)使用AsyncStorage存储一些值,然后将其用作显示列表的提取的参数。

运行模拟器后,我在

中找到了manifest.json

~/Library/Developer/CoreSimulator/Devices/D10E869B-040B-446F-9B8B-754F111442EC/data/Containers/Data/Application/AC837AFE-312B-4861-906D-EC9EEE7D029B/Document s/RCTAsyncLocalStorage_V1

内有数据。

我需要在Xcode的Apple Watch中访问这些值,以完成与iOS应用相同的工作。如何访问该数据?

1 个答案:

答案 0 :(得分:1)

由于Apple Watch应用程序自watchOS 2以来独立于iOS应用程序运行,因此无法直接访问iPhone上本地存储的数据 - 您需要在iOS和watchOS应用程序之间保持某种形式的通信。

用于此目的的框架称为WatchConnectivity。我会为您的案例看到两个或多或少的合适解决方案:

  • 使用transferFile将文件从iOS设备传输到Apple Watch,无论何时更新。此选项的可行性在很大程度上取决于文件的大小。
  • 或者您可以使用updateApplicationContext传递已经序列化的数据,而不是传输原始JSON文件 - 再次,这在很大程度上取决于您的具体需求。

不幸的是,我不知道WatchConnectivity应该如何与ReactNative一起使用。如果您想要更深入地介绍此框架,我强烈建议您在WWDC 2015上观看此amazing video