Вы должны использовать каталог поддержки приложений для безопасного хранения файлов БД.Вы можете получить путь к этой папке следующим образом:
let appSupportDirURL = FileManager.default.urls(for:.applicationSupportDirectory, in:.userDomainMask).last
Вам необходимо создать этот каталог в do / catch при первом его использовании:
try FileManager.default.createDirectory(at: appSupportDirURL, withIntermediateDirectories: true, attributes: nil)
Теперь добавьтеимя вашего файла БД по этому пути:
let storeURL = appSupportDirURL.appendingPathComponent("MyDatabaseName")
И, наконец, используйте этот URL при вызове addPersistentStore(ofType:configurationName:at:options:)
на вашем NSPersistentStoreCoordinator
для создания БД на диске.
Я неЯ знаю о каких-либо библиотеках, которые помогут вам зашифровать всю базу данных Core Data, но на самом деле я не думаю, что вам нужно делать это, когда ваш файл DB больше не доступен - по крайней мере, для приложений с обычными требованиями безопасности.