0

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

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

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

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

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

4

1 回答 1

2

确保您已根据Apple 文档启用推送和远程通知

Project Settings > Signing and Capabilities 

使用CloudKit 同步 CoreData

try? persistentContainer.viewContext.setQueryGenerationFrom(.current)
于 2021-01-25T23:06:21.007 回答