我有一个iOS应用和Action扩展,它通过App Group共有的UserDefaults共享数据。
当用户使用动作扩展添加模型数据,并且iOS应用程序在后台时,我可以使用KVO观察相关的UserDefaults键,并启动Watch应用程序的后台刷新 - 这非常有用。
然而,如果应用程序不在后台但完全不活动怎么办? KVO显然不会发生。 iOS应用程序将在下次启动时(手动或通过后台刷新)获取对UserDefaults的更改,并将这些更改传播到手表,但与此同时,Watch数据在下次刷新之前不同步。
我能想到解决这个问题的唯一方法是让Action Extension启动推送到iOS应用程序的远程静默通知,然后对手表进行后台刷新。但它似乎有点......重手?通过网络浏览应用程序及其扩展程序位于同一设备上。
我缺少什么解决方案?