我正在使用watchOS 5为Apple Watch构建健身应用程序。
我将锻炼设置存储在UserDefaults plist中。启动手表扩展程序后,我尝试阅读UserDefaults并为用户恢复锻炼设置。
此外,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扩展程序后都想恢复其设置,可以遵循的最佳实践是什么?