2011-10-01 10 views
12

Tengo algunos problemas al compilar mi aplicación para iOS. estoy usando sqlite3 e importados comolibsqlite en el simulador y la compilación de iOS

#import <sqlite3.h> 

Bueno, sólo he encontrado un archivo llamado libsqlite3.0.dylib en mi Mac y lo copié a mi proyecto. Cuando lo compilo para iOS Simulator, funciona bien. Sin embargo, cuando intento compilar la aplicación para el dispositivo iOS, arroja un error (error de enlazador de Apple Match-O) en cada llamada que realizo en mi implementación a la función de sqlite (como _sqlite3_open, etc.)

Cómo puedo ¿Lo compilo para el dispositivo iOS?

¡Gracias!

Respuesta

58

En lugar de simplemente copiar la biblioteca, lo hacen así:

  • en Xcode N avigator, haga clic en su objetivo (la entrada planifiquen)

  • ir a Build Phases, entonces Link Binary With Libraries

  • añadir el libsqlite3.dylib desde su ubicación en /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOSxx.sdk/usr/lib/

+0

Bien, compilado con tu consejo! ¡¡Gracias!! Sin embargo, la aplicación no funciona en el iPhone, tan pronto como se llama al método que utiliza la biblioteca sqlite3 se rompe y se cierra la aplicación. En el simulador funciona bien ... ¿Por qué esto? ¿Alguna idea? Humm ... Agregué el libsqlite3.dylib de la carpeta predeterminada que muestra el Xcode 4.1. – Ibai

+0

En el dispositivo, debe obtener un registro de bloqueo (Organizador => Dispositivos => Registro del dispositivo) –

+0

Hola, ott.Bueno, no puedo pagar una licencia de desarrollador, estoy empezando en este mundo de programación de iOS como un hobby y como estudiante no es posible para mí. Espero que entiendas. ¿Tiene alguna idea de por qué podría ser esto causando un bloqueo? Compila pero no funciona ... Gracias otra vez – Ibai

0

¿trató de importar la biblioteca sqlite3 como:

#import "sqlite3.h"

en lugar de:

#import <sqlite3.h>

+0

No difiere. –

1

Sólo en caso de que alguien se enfrentó a que mismo problema que yo. Si está probando su código unitario, agregue el archivo lib también a su objetivo de prueba.

-1

La mejor manera que he encontrado para usar SQLite en su aplicación IOS es construir su propia copia de la biblioteca SQLit e incluirla en su proyecto. libsqlite3.0.dylib es una copia muy antigua de SQLite.

Puede descargar fácilmente el código fuente de Amalgamación SQLite y compilarlo para IOS. esto le brinda el último código fuente SQLite que tiene las últimas correcciones de errores y mejoras.

Si puede abrir Xcode y crear un nuevo proyecto de biblioteca estática, entonces ya ha llegado al 75% del camino.

Una vez que tenga el proyecto de biblioteca estática, incluya las fuentes de SQLite que descargó de la Amalgamación de SQLite y configure unas pocas opciones de Preprocesador y desactívelas con el último código.

Para obtener detalles y código fuente de ejemplo que se pueden visitar mi blog conedogers

Cuestiones relacionadas