Как я могу отправить свое приложение с предварительно заполненной базой данных Core Data? - PullRequest
14 голосов
/ 17 мая 2011

Мое приложение использует Core Data, и я хочу, чтобы некоторые записи по умолчанию были внутри. Как лучше всего это сделать?

Ответы [ 5 ]

9 голосов
/ 17 мая 2011

Если вы уже загружаете данные предварительной загрузки с помощью временной подпрограммы для тестирования в своем текущем коде, нет никаких причин, по которым вы не можете использовать файл sqlite, который он создает в каталоге симулятора (нет необходимости писать отдельное приложение для Mac).

Если вы еще не заполняете эту базу данных, вы все равно можете написать приложение для iOS, которое делает это.Скорее всего, вы уже написали методы добавления данных в свое хранилище, чтобы их можно было использовать и для импорта данных предварительной загрузки.

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

Как и предполагали другие,если объем данных невелик, вы можете просто импортировать его при первом запуске, используя методы, которые вы уже написали, для добавления данных как части рабочего процесса обычного приложения.

5 голосов
/ 17 мая 2011

См. Пример CoreDataBooks , в котором содержится пример кода для копирования базы данных при первом запуске.

РЕДАКТИРОВАТЬ: Я создал инфраструктуру Core Data (подробнее об этом здесь: http://bikepress.org/?p=1120), которая включает эту функцию.

4 голосов
/ 17 мая 2011

Я бы просто создал базу данных и добавил ее в свою цель, чтобы XCode скопировал ее в комплект приложений. При первом запуске просто скопируйте его из комплекта приложения, например, в. каталог документов или где ваше приложение ожидает базу данных.

3 голосов
/ 17 мая 2011

В магазине приложений Core Data Editor . В качестве альтернативы вы можете создать собственное простое приложение для Mac только для этой конкретной БД и управлять им оттуда. Если количество записей по умолчанию невелико, то лучше сохранить его в виде списка или еще чего-нибудь и загрузить в БД после первого запуска.

0 голосов
/ 16 марта 2012

В iOS 5 мое приложение было отклонено, если я поместил файл базы данных в пакет ресурсов. Итак, вместо этого я должен загрузить базу данных из Интернета.

...