2015-03-31 3 views
1

Я провел некоторое исследование резервных файлов и данных в iCloud, и мне было интересно узнать, будут ли Core Data сохранены в резервной копии iTunes, если я не буду использовать какие-либо функции iCloud.Резервное копирование основных данных iTunes?

Так что я получил приложение с недавними подключениями к серверу, сохраненными в основных данных, чтобы заполнить его обратно в UITableView. Если я сделаю резервную копию устройства с помощью iTunes и позже его восстановит на другом устройстве, будут отображаться последние соединения?

Ни один из ответов Q/A не нашел явного ответа на этот вопрос.

Другой вопрос, кроме того: можно ли попробовать эти файлы с резервным копированием itunes с помощью приложения, которое находится в разработке?

ответ

4

Это зависит от того, где вы храните базу данных основных данных.

В целом библиотека и Документы каталог, сохраненные с помощью ITunes (и по ICloud), TMP и кэши не подкреплены.

См: Apple Documentation - iOS Standard Directories: Where Files Reside

AppName.app
Это расслоение приложения. Этот каталог содержит приложение и все его ресурсы. Вы не можете писать в этот каталог. Во избежание несанкционированного доступа каталог пачки подписывается во время установки. Запись в этот каталог изменяет подпись и препятствует запуску вашего приложения. Тем не менее, вы можете получить доступ только для чтения к любым ресурсам, хранящимся в комплекте приложений. Для получения дополнительной информации см. Руководство по программированию ресурсов
Содержимое этой директории не копируется iTunes. Однако iTunes выполняет первоначальную синхронизацию любых приложений, приобретенных в App Store.

Документы/
Используйте этот каталог для хранения пользовательского контента. Содержимое этого каталога может быть доступно пользователю через общий доступ к файлам; поэтому его каталог должен содержать только файлы, которые вы, возможно, захотите предоставить пользователю.
Содержимое этого каталога резервируется iTunes.

Документы/Входящие
Используйте этот каталог для доступа к файлам, что ваше приложение было предложено открыть сторонними организациями. В частности, программа Mail размещает вложения электронной почты, связанные с вашим приложением в этом каталоге. Контроллеры взаимодействия с документами также могут размещать в нем файлы. Приложение может читать и удалять файлы в этом каталоге, но не может создавать новые файлы или записывать в существующие файлы. Если пользователь пытается отредактировать файл в этом каталоге, ваше приложение должно тихо вывести его из каталога, прежде чем вносить какие-либо изменения.
Содержимое этого каталога резервируется iTunes.

Library/
Это каталог верхнего уровня для любых файлов, не являющихся файлами данных пользователя. Обычно вы помещаете файлы в один из нескольких стандартных подкаталогов.Приложения iOS обычно используют подкаталоги поддержки приложений и кэшей; однако вы можете создавать собственные подкаталоги. Используйте подкаталоги библиотеки для любых файлов, которые вы не хотите показывать пользователю. Ваше приложение не должно использовать эти каталоги для файлов пользовательских данных.
Содержимое каталога библиотеки (за исключением подкаталога Caches) создается в iTunes.
Дополнительную информацию о каталоге библиотеки и ее общедоступных подкаталогах см. В разделе «Каталог библиотек», в котором хранятся файлы приложений.

tmp/ Используйте этот каталог для записи временных файлов, которые не должны сохраняться между запусками вашего приложения. Ваше приложение должно удалить файлы из этого каталога, когда они больше не нужны; однако система может очистить этот каталог, когда ваше приложение не запущено.
Содержимое этой директории не копируется iTunes.

+0

Да, я уже нашел, что в документации на яблоко, однако, это первый раз, когда я работаю с coredata. Я добавил модель данных в один из моих существующих проектов и получаю свои данные из нее через NSFetchedResultsController. Так что я пришел к вопросу, где coreData сохраняется по умолчанию –

+0

Посмотрите на свой код. Где-то он должен упомянуть '.sqlite'. Здесь создается путь, в котором хранится база данных. Поскольку вы не знаете, что ваша база данных, скорее всего, будет храниться в документах. –

+0

вещь .sqlite - это то, что я искал, спасибо. мой код здесь был 'let urls = NSFileManager.defaultManager(). URLsForDirectory (.DocumentDirectory, inDomains: .UserDomainMask)' так что да, похоже, документы ^^ –