Swift Bridging Header – Uso del error no declarado tipo 'FMDatabase'

He mirado todas las otras publicaciones con el mismo error (uso del tipo no declarado), pero aún no puedo descifrar qué ocurre con mi proyecto.

La diferencia con los otros casos es que puedo utilizar con éxito las bases de datos de FM en las classs AppDelegate y ViewController, pero no desde otra class que he creado, aunque en el mismo proyecto que las classs AppDelegate y ViewController.

Y al "usar con éxito", quiero decir que puedo acceder a la database y las tablas que contiene.

También tenga en count que no tuve que importar nada para usar FMDatabase en AppDelegate o ViewController.

Hasta ahora lo que he hecho (Xcode. 6.4 Swift 1.2):

  1. Creado un proyecto de vista rápida.

  2. Instalado FMDB usando cocoapods ( https://cocoapods.org/?q=fmdb )

  3. Creado un encabezado puente para FMDB

Puedo declarar y usar correctamente FMDatabase desde las classs AppDelegate.swift y ViewController.swift.

AppDelegate.swift

@UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? var database: FMDatabase? // OK ... 

ViewController.swift

 class ViewController: UIViewController { var database: FMDatabase? // OK ... 

En DBUtil.swift aunque obtengo el error "Uso de tipo no declarado 'FMDatabase'".

DBUtil.swift

 class DBUtil { var database: FMDatabase? // Error: "Use of undeclanetworking type 'FMDatabase' } 

Un reproductor está disponible en Swift Bridging Header .

Para cualquier sugerencia o idea, gracias de antemano.

Es porque DBUtil es parte del objective BridgingHeaderTests (pero el delegado de la aplicación y el controller de vista no lo están), pero ese objective no está configurado para FMDB (la configuration "Encabezado de puente objective" para el objective de testing está vacía).

Tu también puedes:

  1. Eliminar DBUtil del objective de las testings:

    introduzca la descripción de la imagen aquí

  2. O especifique el encabezado de puente para el objective de testings:

    introduzca la descripción de la imagen aquí

Dejo aquí una respuesta para otros casos: recibí el mismo error, pero el problema estaba en mi encabezado de puenteo, olvidé escribir #import "FMDatabase.h"

Mi caso fue el mismo error. Lo arreglé agregando solamente los files .h y .m (no la carpeta) para proyectar marcando "copyr elementos cuando sea necesario" && crear grupos y hacerlo. Luego creó el encabezado de puente obj c.

En la Fase de compilation de Target: binary de enlace con bibliotecas: se agregó libsqlite3.tbd. El contenido integrado embedded contiene un código rápido a Sí.

Resolvió este problema de reference.