Я не использовал fmdb, но я успешно использовал GRDB (https://github.com/groue/GRDB.swift) в недавнем проекте. Обычно эти библиотеки позволяют вам получать код ошибки или вывод журнала в случае возникновения ошибки, и это может доказать действительно полезно для решения вашей проблемы.
А пока вот функция Swift, которую я использую для преобразования имени файла в полный путь пользователя для документов:
private static func path(for filename: String) -> String {
let fm = FileManager.default
let documentsDirectory = fm.urls(for: .documentDirectory, in: .userDomainMask).first
return documentsDirectory?.appendingPathComponent(filename).absoluteString ?? filename
}
Обратите внимание, что файлы, включенные в состав сборки, обычно не будут находиться в ваших Документах, они будут частью ресурсов комплекта. В этом случае этот фрагмент кода может быть более полезным:
let path = Bundle.main.path(forResource: "mydatabase", ofType: "sqlite")