Как избежать очистки всех данных после обновления приложения с новым NSPersistentCloudKitContainer (с общим контейнером) - PullRequest
0 голосов
/ 25 апреля 2020

Мое приложение использует NSPersistentCloudKitContainer для CoreData. Например, у меня уже есть информация в iCloud. Я хочу использовать Today Extension в своем приложении. Итак, я уже создал группы приложений и установил его в качестве цели своего приложения и цели виджета. Кроме того, я переопределил defaultDirectoryURL на NSPersistentCloudKitContainer, чтобы получить данные для моего сегодняшнего расширения. Но у меня есть проблема: когда я устанавливаю свое приложение с новым общим контейнером в существующее приложение, все данные удаляются и через несколько секунд загружаются из iCloud. Как избежать очистки всех данных после обновления приложения или как установить индикатор загрузки при обновлении данных? (У меня уже есть приложение в App Store, я готовлю новую версию и не хочу, чтобы пользователи видели пустое приложение после обновления приложения)

class PersistentContainer: NSPersistentCloudKitContainer {

    override class func defaultDirectoryURL() -> URL{
        return FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.sharingForTodayExtension")!
    }

    override init(name: String, managedObjectModel model: NSManagedObjectModel) {
        super.init(name: name, managedObjectModel: model)
    }
}
...