«NSAllocateMemoryPages () не удалось» с NSPersistentCloudKitContainer - PullRequest
0 голосов
/ 16 февраля 2020

ОПИСАНИЕ ПРОБЛЕМЫ. При синхронизации больших элементов (например, изображений) с NSPersistentCloudKitContainer мое приложение аварийно завершает работу с ошибкой «Ошибка NSAllocateMemoryPages ()». Это происходит неоднократно в течение минуты после запуска приложения. Это происходит как в рабочей среде, так и в среде разработки.

cra sh не происходит, если пользователь отключается от inte rnet или отключает iCloud syn c для моего приложения.

Изображения хранятся в Базовых данных как «Двоичные данные» в отдельных объектах с отношениями «многие к одному» с их родительскими объектами. Настройка адаптирована из этого примера: https://developer.apple.com/documentation/coredata/synchronizing_a_local_store_to_the_cloud

ШАГИ ДЛЯ ВОСПРОИЗВЕДЕНИЯ: добавление нескольких изображений к основным данным одновременно или синхронизация c с учетной записью iCloud, в которой уже есть несколько изображений в приватный контейнер iCloud.

ПЛАТФОРМА И ВЕРСИЯ: происходит как на iPhone X, так и на iPad Pro (gen 1) под управлением iOS 13.3.1.

Кто-нибудь еще сталкивался с этой проблемой ? Все предложения будут очень приветствоваться!

1 Ответ

0 голосов
/ 06 марта 2020

Я нашел проблему в конце. Я хранил изображения в полном разрешении размером более 20 МБ. Сжатие изображений решило проблему go. Похоже, что NSPersistentCloudKitContainer не устраивает синхронизация полей RawData размером более 15 МБ. Если у кого-то есть более подробная информация об этом, мне было бы очень интересно узнать больше об этом ограничении размера и где / если оно задокументировано!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...