Импорт / восстановление резервной копии sqlite из приложения iphone - PullRequest
0 голосов
/ 16 апреля 2011

Я работаю над созданием моего первого приложения для iPhone с использованием Core Data.В настоящее время озадачен тем, как восстановить ранее сохраненный файл sqlite.

Я успешно экспортировал файл sqlite по электронной почте.Но не могу понять, как реализовать функцию импорта / восстановления.По сути, это то, что я хочу выполнить, когда пользователь нажимает «Импорт данных»

  1. Отображение URL-адреса списка просмотра, к которому пользователь может получить доступ через любой компьютер (при сохранении приложения)
  2. Когдапользователь получает доступ к URL, появляется простая веб-страница с двумя кнопками («Обзор», «Загрузить»)
    2a.Пользователь может просмотреть и получить файл sqlite с локального компьютера и нажать кнопку загрузки
  3. Когда приложение завершит прием файла,
    3a.Запускает логику преобразования NSData в sqlite и сохраняет ее в папке документов
    3b.Сообщает пользователю, что импорт завершен
  4. Наконец приложение восстановило данные ..

Я просматривал статьи, но не смог найти какую-либо полезную информацию.

Любые указатели будут с благодарностью.Благодаря.

1 Ответ

0 голосов
/ 16 апреля 2011

Я бы сделал это так.

  1. Загрузить архивированные / экспортированные данные в папку tmp
  2. Закрыть текущий ManagedContext для базы данных
  3. Переименуйте существующую базу данных во временное имя.
  4. Создайте новую базу данных с кодом или скопируйте пустую базу данных из пакета в каталог документов.
  5. Подключите ManagedContext к новой базе данных.
  6. Чтение архивного файла и импорт данных в базу данных.
  7. В случае успеха удалите файл архивных данных и старый файл базы данных, который является временным именем.
  8. Если не удалось, переименуйте временную базу данных обратно в текущее имя.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...