Apple Mach-O 链接器错误 sqlite3

Apple Mach-O Linker Error sqlite3

我在构建我的应用程序时遇到了这个错误。谁能帮我解决这个问题?

我正在使用 swift 和 parse.com。非常感谢您的帮助!

因为我不能post图片,下面我post整个错误信息。

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)

你可以在那里找到答案 (您需要为您的项目添加框架)

Link Errors with Parse.framework iOS

经过反复试验,答案是再次检查所有框架。 好像parse.com这几个月才更新一次

目前它需要 libsqlite3.dylib 作为它的库。

如果您发现类似问题,请先在此处查看最新的要求: https://www.parse.com/apps/quickstart#parse_data/mobile/ios/native/existing

我以前遇到过这个问题。只需从框架中导入 libsqlite.dyliblibz.dylib,您的错误就会消失。

我也遇到过这种情况,@Gibran 的回答让我走上了正轨。我发现使用 Xcode 7 和 iOS 9 的一个区别是 libsqlite3.dylib 已被 libsqlite3.tbd

取代