问题描述:当使用NSPersistentCloudKitContainer同步大型项目(如图像)时,我的应用程序崩溃,错误为'NSAllocateMemoryPages() failed‘。在启动应用程序的一分钟内,这种情况会重复发生。在生产和开发环境中都会发生这种情况。
如果用户断开与互联网的连接,或者关闭我的应用程序的iCloud同步,则不会发生崩溃。
图像作为“二进制数据”存储在Core Data中,存储在与其父实体具有“多对一”关系的单独实体中。该设置改编自以下示例:https://developer.apple.com/documentation/coredata/synchronizing_a_local_store_to_the_cloud
复制步骤:一次向核心数据添加多个镜像,或与私有iCloud容器中已有多个镜像的iCloud账户同步。
平台和版本:发生在运行iOS 13.3.1的iPhone X和iPad专业版(gen 1)上。
有没有其他人遇到过这个问题?我们将非常欢迎所有的建议!
发布于 2020-03-06 06:11:32
我最终找到了问题所在。我存储的是超过20MB的全分辨率图像。压缩图像可以解决这个问题。看起来NSPersistentCloudKitContainer对同步大于15MB的RawData字段并不满意。如果有人对此有更多的详细信息,我将非常有兴趣了解更多关于这个大小限制的信息,以及它在哪里/是否有文档记录!
https://stackoverflow.com/questions/60247889
复制相似问题