2015-01-10 8 views
13

Ho ricevuto questo errore durante la creazione delle mie app. qualcuno può aiutarmi a risolvere questo problema?Errore linker Apple Mach-O sqlite3

Sto usando swift e parse.com. Grazie mille per il vostro aiuto!

poiché non riesco a pubblicare l'immagine, di seguito pubblicherò l'intero messaggio di errore.

Undefined symbols for architecture i386: 
    "_sqlite3_bind_blob", referenced from: 
     -[PFSQLiteDatabase _bindObject:toColumn:inStatement:] in Parse(PFSQLiteDatabase.o) 
    "_sqlite3_bind_double", referenced from: 
     -[PFSQLiteDatabase _bindObject:toColumn:inStatement:] in Parse(PFSQLiteDatabase.o) 
    "_sqlite3_bind_int64", referenced from: 
     -[PFSQLiteDatabase _bindObject:toColumn:inStatement:] in Parse(PFSQLiteDatabase.o) 
    "_sqlite3_bind_null", referenced from: 
     -[PFSQLiteDatabase _bindObject:toColumn:inStatement:] in Parse(PFSQLiteDatabase.o) 
    "_sqlite3_bind_parameter_count", referenced from: 
     ___59-[PFSQLiteDatabase executeQueryAsync:withArgumentsInArray:]_block_invoke in Parse(PFSQLiteDatabase.o) 
     ___57-[PFSQLiteDatabase executeSQLAsync:withArgumentsInArray:]_block_invoke in Parse(PFSQLiteDatabase.o) 
    "_sqlite3_bind_text", referenced from: 
     -[PFSQLiteDatabase _bindObject:toColumn:inStatement:] in Parse(PFSQLiteDatabase.o) 
    "_sqlite3_close", referenced from: 
     ___30-[PFSQLiteDatabase closeAsync]_block_invoke in Parse(PFSQLiteDatabase.o) 
    "_sqlite3_column_blob", referenced from: 
     -[PFSQLiteDatabaseResult dataForColumnIndex:] in Parse(PFSQLiteDatabaseResult.o) 
    "_sqlite3_column_bytes", referenced from: 
     -[PFSQLiteDatabaseResult dataForColumnIndex:] in Parse(PFSQLiteDatabaseResult.o) 
    "_sqlite3_column_count", referenced from: 
     -[PFSQLiteDatabaseResult columnNameToIndexMap] in Parse(PFSQLiteDatabaseResult.o) 
    "_sqlite3_column_double", referenced from: 
     -[PFSQLiteDatabaseResult doubleForColumnIndex:] in Parse(PFSQLiteDatabaseResult.o) 
    "_sqlite3_column_int", referenced from: 
     -[PFSQLiteDatabaseResult intForColumnIndex:] in Parse(PFSQLiteDatabaseResult.o) 
    "_sqlite3_column_int64", referenced from: 
     -[PFSQLiteDatabaseResult longForColumnIndex:] in Parse(PFSQLiteDatabaseResult.o) 
    "_sqlite3_column_name", referenced from: 
     -[PFSQLiteDatabaseResult columnNameToIndexMap] in Parse(PFSQLiteDatabaseResult.o) 
    "_sqlite3_column_text", referenced from: 
     -[PFSQLiteDatabaseResult stringForColumnIndex:] in Parse(PFSQLiteDatabaseResult.o) 
    "_sqlite3_column_type", referenced from: 
     -[PFSQLiteDatabaseResult objectForColumnIndex:] in Parse(PFSQLiteDatabaseResult.o) 
     -[PFSQLiteDatabaseResult columnIndexIsNull:] in Parse(PFSQLiteDatabaseResult.o) 
    "_sqlite3_errmsg", referenced from: 
     -[PFSQLiteDatabase _errorWithErrorCode:] in Parse(PFSQLiteDatabase.o) 
    "_sqlite3_finalize", referenced from: 
     ___59-[PFSQLiteDatabase executeQueryAsync:withArgumentsInArray:]_block_invoke in Parse(PFSQLiteDatabase.o) 
     ___57-[PFSQLiteDatabase executeSQLAsync:withArgumentsInArray:]_block_invoke in Parse(PFSQLiteDatabase.o) 
     -[PFSQLiteStatement close] in Parse(PFSQLiteStatement.o) 
    "_sqlite3_open", referenced from: 
     ___29-[PFSQLiteDatabase openAsync]_block_invoke in Parse(PFSQLiteDatabase.o) 
    "_sqlite3_prepare_v2", referenced from: 
     ___59-[PFSQLiteDatabase executeQueryAsync:withArgumentsInArray:]_block_invoke in Parse(PFSQLiteDatabase.o) 
     ___57-[PFSQLiteDatabase executeSQLAsync:withArgumentsInArray:]_block_invoke in Parse(PFSQLiteDatabase.o) 
    "_sqlite3_reset", referenced from: 
     -[PFSQLiteStatement reset] in Parse(PFSQLiteStatement.o) 
    "_sqlite3_step", referenced from: 
     ___57-[PFSQLiteDatabase executeSQLAsync:withArgumentsInArray:]_block_invoke in Parse(PFSQLiteDatabase.o) 
     -[PFSQLiteDatabaseResult next] in Parse(PFSQLiteDatabaseResult.o) 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
+0

L'ovvio punto di partenza è: stai tentando di collegarti alla libreria sqlite3? Se é cosi, come? –

+0

anche gli stessi errori in PFSQLiteDatabaseResult.o – moonvader

risposta

27

dopo tentativi ed errori, la risposta è ancora una volta controllare tutto il quadro. sembra che parse.com abbia appena fatto un aggiornamento in questi mesi.

al momento è necessario libsqlite3.dylib come su di esso libreria.

se trovate problema simile, controllare in primo luogo il requisito più aggiornata qui: https://www.parse.com/apps/quickstart#parse_data/mobile/ios/native/existing

+5

nel caso in cui la risposta di Gibran non sia chiara, la correzione è passare alla sezione Fasi di compilazione -> Collegamento binario con libreria e aggiungere libsqlite3.dylib all'elenco delle librerie collegate –

+0

Nota che adesso abbiamo le librerie ".tbd". http://stackoverflow.com/questions/31450690/why-xcode-7-shows-tbd-instead-of-dylib –

4

Ho avuto questo problema prima. Basta importare libsqlite.dylib e libz.dylib da framework e i tuoi errori scompariranno.

9

Ho appena fatto accadere anche questo e la risposta di @ Gibran mi ha messo sulla strada giusta. L'unica differenza che ho trovato usando Xcode 7 e iOS 9 è che il libsqlite3.dylib è stato sostituito da libsqlite3.tbd