iCloud Sync 在 iPhone 和 Mac 上有效,但在 iPad 上无效

iCloud Sync does work on iPhone & Mac but not on iPad

我发现 iCloud 同步有一个奇怪的问题。

情况: 我使用 SwiftUI 开发了一个 iOS、iPadOS & macOS 应用程序。所有三个版本共享相同的代码库 (macOS 版本是 Catalyst iPad 版本)。该项目确实支持通过 NSPersistenceCloudKitContainer iCloud 同步在所有 3 台设备之间同步数据。

问题: iCloud Sync 在我的 iPhone 和我的 Mac 之间完美运行,但是当它与我的 iPad 一起使用时,我面临一个非常奇怪的问题。在我的 iPad 上创建一个新的 CoreData 对象时,它会在几秒钟后出现在我的其他设备上,这完全没问题。但是,在我的 iPhone 或 Mac 上创建 CoreData 对象时,它不会出现在 iPad 上(我等了 10 分钟)。只有关闭再打开App时才会出现Object。

详情:我什至不必完全退出应用程序。只需向上滑动到应用程序选择器并再次 select 应用程序就足够了。

问题:有没有人知道什么会导致这个奇怪的错误?请记住:所有三个设备都使用相同的代码库。

确保您已根据 Apple Documentation

启用推送和远程通知
Project Settings > Signing and Capabilities 

Sync CoreData with CloudKit 使用

try? persistentContainer.viewContext.setQueryGenerationFrom(.current)