Для будущего контекста ... запись во внешнее хранилище CoreData нарушена, начиная с iOS 12. Мое решение основано на комментариях Дрю МакКормака в Twitter.
Стоит отметить, чтонарушается только запись, чтение остается функциональным.
Создайте новое свойство, например «original property name»Internal
того же типа, но с Allows external storage
box unchecked .
Теперь у вас естьдва варианта:
- Переносить все при первоначальном запуске приложения - т.е. извлекать все объекты с предикатом, подобным этому
«original property name»Internal == NULL && «original property name» != NULL
, и перемещать данные по (я сделал это). - Мигрируйте на лету, т.е. используйте два свойства параллельно, но записывайте только в
«original property name»Internal
(в то время как nil
ing «original property name»
)
Стоит отметить, что данные вашего клиента в последний раз в безопасности, пока ониобнови это.Тред осторожно, но ты должен быть в порядке.