У меня есть аналогичное требование для приложения, над которым я работаю. Я использую хранилище данных sqlite для своих данных, поэтому я в основном хочу предварительно заполнить эту таблицу данными для объектов по умолчанию.
Для этого я создал отдельный проект в моей рабочей области XCode, который использует ту же модель данных, что и мое приложение. В этом отдельном проекте я пишу код, который мне нужен, чтобы вставить объекты в таблицу и сохранить файл в известном месте на моем Mac.
Затем я копирую файл sqlite, созданный моим приложением инициализатора, в каталог ресурсов для моего "настоящего" приложения. В рамках запуска этого приложения я написал небольшой фрагмент кода, который копирует БД по умолчанию из ресурсов в папку документов моего приложения, если там еще не существует копии.
Конечный результат таков: я могу запустить приложение инициализатора, чтобы заполнить данные по умолчанию так, как мне нужно. Затем я копирую файл в свое реальное приложение, поэтому при первом запуске приложения копия этого БД по умолчанию готова к работе.