使用watchOS 5

时间:2019-01-14 10:56:25

标签: swift userdefaults watch-os-5

我正在使用watchOS 5为Apple Watch构建健身应用程序。

我将锻炼设置存储在UserDefaults plist中。启动手表扩展程序后,我尝试阅读UserDefaults并为用户恢复锻炼设置。

根据Apple Documentation

  

此外,iOS会自动转发iOS的只读副本   应用程式对Apple Watch的偏好设定。您的WatchKit扩展程序可以读取   使用NSUserDefaults对象的那些首选项,但它不能使   直接更改为默认数据库。

     

如果您的Watch应用程序需要更改存储在默认值中的值   数据库,使用Watch Connectivity框架将值发送回   到您的iOS应用,然后将值保存在那里。

由于UserDefaults仅对手表扩展读取,因此,如果用户更改了手表上的任何设置,我将通过WatchConnectivity将这些设置发送到iPhone,并将其存储到iPhone上的UserDefaults中。因此,下次用户启动手表扩展时,他应该获得更新的userDefaults。

现在的问题是watch App也有并发症,如果Apple Watch App有并发症,它将停留在后台以便快速启动该应用程序。那么,iOS应用何时会同步userDefaults的只读副本?

如果用户每次启动Watch App扩展程序后都想恢复其设置,可以遵循的最佳实践是什么?

0 个答案:

没有答案