ОБНОВЛЕНО: Я пытаюсь выполнить резервное копирование и восстановление файлов основных данных (используя журнал и MagicalRecord на основе issue #444). При работе под симулятором iOS я знаю, что файлы перемещаются каждый раз из последнего исполнения приложения. Here - это полный код (я ставлю его здесь, потому что он длинный, и теперь он отформатирован, а синтаксис выделен, что упрощает чтение).Почему мое восстановление файлов основных данных не найдено приложением?
Я могу найти новое место при запуске приложения, восстановить мои сохраненные файлы и выполнить восстановление из файлов в папке «Документы», поместив их в нужное новое место, как определено выводом консоли из инструкций NSLog (это не означает, t показывает, что файл -shm восстанавливается, но он находился в том же месте).
AppDelegate-sqliteFilePath:/Users/rolfmarsh/Library/Developer/CoreSimulator/Devices/1EE69744-255A-45CD-88F1-63FEAD117B32/данные/Контейнеры/Data/Application/B424CA1A-D41C-488D-A7E9-0F13CB2244B3/Поддержка библиотеки/Application/SalonBook
SVC-sqliteFilePath:/Users/rolfmarsh/Library/Developer/CoreSimulator/Devices/1EE69744-255A-45CD-88F1-63FEAD117B32/данные/Контейнеры/Data/Application/B424CA1A-D41C- 488D-A7E9-0F13CB2244B3/Библиотека Поддержка/Application/SalonBook
documentsBasePath:/Users/rolfmarsh/Library/Developer/CoreSimulator/Devices/1EE69744-255A-45CD-88F1-63FEAD117B32/данные/содержать ERS/Data/Application/B424CA1A-D41C-488D-A7E9-0F13CB2244B3/Документы
Отправной - storePath:/Users/rolfmarsh/Library/Developer/CoreSimulator/Devices/1EE69744-255A-45CD-88F1-63FEAD117B32/данные/Контейнеры/Данные/Приложение/B424CA1A-D41C-488D-A7E9-0F13CB2244B3/Библиотека/Поддержка приложений/SalonBook/saori.sqlite
Закончено! storePath:/Пользователи/rolfmarsh/Библиотека/Разработчик/CoreSimulator/Devices/1EE69744-255A-45CD-88F1-63FEAD117B32/data/Контейнеры/Данные/Приложение/B424CA1A-D41C-488D-A7E9-0F13CB2244B3/Библиотека/Поддержка приложений/SalonBook/saori.sqlite-Wal
Когда я начинаю восстанавливать, я выдаю:
[MagicalRecord cleanUp]; // disable Core Data
Когда я заканчиваю восстановление, я выполняю следующее:
[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"saori.sqlite"]; // enable Core Data migration
defaultContext = [NSManagedObjectContext MR_defaultContext]; // set default NSManagedObjectContext for MagicalRecord
Когда я смотрю на что должен быть в хранилище основных данных (с использованием SQLite Browser), : в файле sqlite (saori.sqlite), но они не отображаются в приложении! Это похоже на то, что стек МР не был настроен правильно или контекст по умолчанию каким-то образом. Любая идея, как это исправить?
Когда вы очищаете и затем восстанавливаете стек Core Data, как вы можете сообщить об этом своему пользовательскому интерфейсу? –
Я только что провела еще одно испытание; есть данные в файлах sqlite, они просто НЕ восстанавливаются правильно (я проверил файлы в Finder, использовал SQLite Browser для просмотра содержимого и проверил имя файла в журнале консоли при запуске приложения, и они являются то же !.) .. независимо от того, сколько раз я перезапускаю приложение, данные не отображаются в приложении ... очень странно! – SpokaneDude