ios - 核心数据 - iCloud 行为

标签 ios core-data icloud

我正在使用 NSManagedDocument 作为核心数据堆栈在我的核心数据应用程序中实现 iCloud 支持。

一切似乎都工作正常,但有一些意想不到的行为:

在我的 iPhone 和 iPad 上安装了通用应用程序:

从 iPhone 添加的实体将 iCloud 存储到 iPad; 从 iPad 添加的实体通过 iCloud 存储到 iPhone; 从 iPhone 添加的实体,在 iPhone 上删除在 iPad 上自动删除 在iPad上添加的实体,在iPad上删除在iPhone上自动删除

然而……

从iPhone上添加,在iPad上删除的实体在iPhone上不删除 从iPad上添加的实体,在iPhone上删除,在iPad上不删除

这是预期的行为吗?这不是 Apple 的“笔记”应用程序在我的 iPhone 和 iPad 上的行为方式。对任何笔记的任何更改都会反射(reflect)在所有设备上。

如果这不是正确的 iCloud 行为,有什么我可能误入歧途的想法吗?

非常感谢。

最佳答案

Is this the expected behavior?

这取决于您如何定义“预期”。这不是 Apple 打算如何工作的,但你不是第一个遇到这个问题的人。在实践中,是的,至少在某些时候是预期的。

您应该检查的几件事:

  • 即使您退出并重新启动该应用程序,这种情况是否仍然存在?可能是该实例正在被删除,但您的应用程序未正确更新其 UI。这会让对象看起来仍然存在,直到您重新启动该应用。

  • 查看您从 iCloud 收到的“已导入”通知。它应该包含插入、更新和删除实例的对象 ID。确保它正确指示接收端删除了哪些对象。

  • 检查您的对象处理,确保您没有以某种方式保留或重新创建本应删除的对象。

但请记住,如果您将 Core Data 与 iCloud 一起使用,您是在自找麻烦,并且您可能无法解决此问题。 Core Data 的 iCloud 集成仍然不是那么可靠。预计会出现问题,这些问题可能太严重而无法修复。

关于ios - 核心数据 - iCloud 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14793300/

相关文章:

ios - 核心数据,我如何有效地查找和删除托管对象

ios - 核心数据保存错误 : Non-Optional Properties disappear during Save attempt

ios - NSUserDefaults 会同步到 iCloud 吗?我不希望他们成为

ios - 尝试使用 AVAudioPlayer 快速播放音频时出错

ios - 在 SLRequestHandler 中显示 UIAllertView 时系统挂起

ios - 将UIView/图形上下文划分为多个区域

ios - NSFetchedResultsController 不会在 reloadData 上改变

iOS 应用程序在一个模拟器上运行良好,但在设备上运行不佳

ios - iCloud 键值生命周期

ios - 如何理解iOS "Documents and data"(云备份相关)