Apple Mach-O链接器错误sqlite3

时间:2015-01-10 17:11:01

标签: ios swift parse-platform

构建我的应用时出现此错误。任何人都可以帮我解决这个问题吗?

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

由于我无法发布图片,下面我发布了整个错误消息。

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)

4 个答案:

答案 0 :(得分:29)

经过反复试验,答案是再次检查所有框架。 看来parse.com刚刚在这几个月里做了更新。

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

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

答案 1 :(得分:9)

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

答案 2 :(得分:4)

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

答案 3 :(得分:2)

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

Link Errors with Parse.framework iOS