У меня есть константа, которую я увеличиваю с новыми сборками, скажем, kDatabaseVersion.
При запуске я проверяю следующее:
Существует ли БД в каталоге документов? Если нет, скопируйте его. Это, вероятно, означает, что произошел первый запуск.
Если БД существует, проверьте версию по константе с записью NSUserDefaults с тем же ключом. Если константа больше, скопируйте базу данных. Если нет, не надо. Обновите NSUserDefaults соответственно.
Конечно, если база данных также содержит данные ваших пользователей, вам нужно решить, как перенести их в новое хранилище данных. Если вы используете базовые данные, вы можете даже рассмотреть несколько постоянных хранилищ для разделения пользовательских данных и данных по умолчанию.