Все файлы, включая приложения, установленные на устройстве, должны быть в неизменяемом комплекте приложений, что делает файлы доступными только для чтения.
Если вы включите файл постоянного хранилища Core Data в приложение, он будет находиться в комплекте приложения и может быть добавлен только в координатор постоянного хранилища в качестве хранилища только для чтения. Любая попытка записи в него приведет к ошибке.
Обычно вам требуется хранилище для чтения и записи, поэтому решение состоит в том, чтобы использовать стандартные файловые операции для копирования включенного файла постоянного хранилища из комплекта приложения, а затем в папку «Документы» или «Библиотека» приложения. Когда приложение запускается, делегат приложения проверяет наличие хранилища перед инициализацией стека основных данных и копирует его, если это еще не сделано.
У вас также есть более продвинутая опция использования двух хранилищ для одного стека, одно только для чтения, а другое - для чтения. Однако этот метод вносит сложность в модель данных и обычно не требуется.