我将iPhone和Apple Watch配对在一起,并且有一些值存储在手机的用户默认值中。我希望我的Apple Watch能够以某种方式检索存储的信息并将其带回Watch。使用Swift实现这一目标的最佳方法是什么?
答案 0 :(得分:2)
自watchOS2
以来,除了WatchConnectivity
框架之外,您没有任何内置函数可用于iOS和watchOS应用之间的通信。由于Watch应用程序不再被视为App Extensions,因此它们无法访问AppGroups
,因此无法访问iPhone上的UserDefaults
。
对于同步UserDefaults
,updateApplicationContext(_:)函数似乎是最佳解决方案。您可以使用此功能发送数据字典(您刚刚在iPhone上保存到UserDefaults
的数据),系统会尝试确保在您的应用向用户显示时收到数据。如果在应用程序对用户可见(在前台运行)之前多次调用该函数,系统将覆盖以前的数据,因此Watch应用程序仅接收要显示的最新数据。