【问题标题】:Saving data from iPhone app in watch app swift将 iPhone 应用程序中的数据保存在手表应用程序中
【发布时间】:2020-05-15 06:48:21
【问题描述】:

我正在开发一个 iPhone 应用程序,但现在也有一个对应的手表应用程序。用户可以登录到 iPhone 应用程序。即使无法访问 iPhone 或 iPhone 应用程序未运行,我也希望将此登录详细信息(例如访问令牌)获取到手表应用程序中。一旦用户登录到 iPhone 应用程序,我会立即使用 updateApplicationContext 方法将访问令牌放入 watchapp。但是如何将这些数据保存在手表应用程序中,以便如果 iPhone 应用程序甚至没有运行,那么我什至可以在手表应用程序中获得用户的访问令牌?

【问题讨论】:

  • 我认为NSKeyedArchiver 适用于 WatchOS。你已经试过了吗?
  • 我想知道是否可以像在 iOS 应用中一样使用手表应用中的 UserDefaults。
  • 是的,你可以这样做。甚至还有一种方法可以在 iPhone 应用和手表应用之间使用共享的用户默认容器来避免数据冗余。
  • @Adrian 我会试试这个。谢谢
  • 不客气。请让我知道它是否适合您。

标签: ios swift apple-watch watchos watchconnectivity


【解决方案1】:

最简单的方法是使用共享用户默认容器。

1) 在 Capabilities 选项卡中为所有目标激活 AppGroup。

2) 使用您的组的标识符作为用户默认值:

let userDefaults = UserDefaults(suiteName: "group.com.YourCompany.YourApp")

【讨论】:

  • 这在新的 WatchOS 版本中不起作用(它只在 WatchOS 1 或 2 中起作用)。 WatchConnectivity 必须用于此目的。
猜你喜欢
  • 1970-01-01
  • 2016-12-15
  • 2015-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-06
  • 2011-07-02
相关资源
最近更新 更多