2011-10-01 13 views
12

sto avendo alcuni problemi quando si compila la mia app per iOS. Sto usando sqlite3 e importati comelibsqlite simulatore e iOS compilazione

#import <sqlite3.h> 

Beh, ho trovato solo un file chiamato libsqlite3.0.dylib nel mio Mac e ho copiato al mio progetto. Quando lo compilo per iOS Simulator, funziona perfettamente. Tuttavia, quando provo a compilare l'app per dispositivo iOS, genera un errore (Apple Match-O Linker Error) in ogni chiamata che faccio nella mia implementazione alla funzione sqlite (come _sqlite3_open, ecc.)

Come può Lo compilo sul dispositivo iOS?

Grazie!

risposta

58

Invece di limitarsi a copiare la libreria, fare in questo modo:

  • in Xcode N avigatore, clicca sul vostro obiettivo (la voce upmost)

  • andare a Build Phases, poi Link Binary With Libraries

  • aggiungere il libsqlite3.dylib dalla sua posizione a /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOSxx.sdk/usr/lib/

+0

Ok, è stato compilato con il tuo suggerimento! Grazie!! Tuttavia, l'app non funziona nell'iPhone, non appena chiama il metodo che utilizza la libreria sqlite3, interrompe e chiude l'app. Nel simulatore funziona bene ... Perché questo? Qualche idea? Humm ... ho aggiunto il libsqlite3.dylib dalla cartella predefinita che i Xcode 4.1 spettacoli .. – Ibai

+0

Sul dispositivo si dovrebbe ottenere un crash log (Organizzatore => Dispositivi => Dispositivo Log) –

+0

Hi ott.Beh, non posso permettermi una licenza per sviluppatori, sto iniziando in questo mondo di programmazione iOS come hobby e da studente non è possibile per me. Spero che tu capisca. Hai qualche idea del perché questo potrebbe causare un incidente? Compila ma non funziona ... Grazie ancora – Ibai

0

Hai provato a importare biblioteca sqlite3 come:

#import "sqlite3.h"

invece di:

#import <sqlite3.h>

+0

Esso non differisce. –

1

Solo nel caso qualcuno di fronte che stesso problema di me. Se stai testando il tuo codice unitario, aggiungi il file lib anche alla tua destinazione di prova.

-1

Il modo migliore che ho trovato per usare SQLite nella vostra applicazione IOS è quello di costruire la propria copia della libreria SQLit e includerlo nel progetto. libsqlite3.0.dylib è una copia molto vecchia di SQLite.

Si può facilmente scaricare il codice sorgente SQLite Fusione e costruire per IOS. questo ti dà l'ultimo codice sorgente SQLite che ha tutte le ultime correzioni di bug e miglioramenti.

Se è possibile aprire Xcode e creare un nuovo progetto di libreria statica, allora si sono il 75% della strada.

Una volta ottenuto il progetto della libreria statica, includere le origini SQLite scaricate da Amalgama SQLite e impostare alcune opzioni di Preprocessore e disattivare l'accesso con il codice più recente.

Per tutti i dettagli e il codice sorgente di esempio si può visitare il mio blog conedogers

Problemi correlati