gpt4 book ai didi

sqlite - Swift - Apple Mach-O 链接器错误 sqlite3 本地数据库

转载 作者:行者123 更新时间:2023-11-28 05:28:06 25 4
gpt4 key购买 nike

我有 this教程 presentens 向我的项目添加了一个本地数据库。在我的解决方案中,我有两个项目,一个是主应用程序,另一个是 Today Extension 项目。当将 SQLlite 文件(由教程提供)和 libsqlite3.0.dylib 添加到主应用程序时,它可以完美地从数据库中进行 SELECT、INSERT、UPDATE 和 DELETE,但是当我尝试将 SQLite 文件添加到扩展时,我收到这些错误:

Undefined symbols for architecture x86_64:
"_sqlite3_bind_blob", referenced from:
__TFC12AppToday8SQLiteDBP33_9CF002B13E24CF8B0C3EFF52F9662D0D7preparefS0_FTSS6paramsGSqGSaPSs9AnyObject____VSs14COpaquePointer in SQLiteDB.o
"_sqlite3_bind_double", referenced from:
__TFC12AppToday8SQLiteDBP33_9CF002B13E24CF8B0C3EFF52F9662D0D7preparefS0_FTSS6paramsGSqGSaPSs9AnyObject____VSs14COpaquePointer in SQLiteDB.o
"_sqlite3_bind_int", referenced from:
__TFC12AppToday8SQLiteDBP33_9CF002B13E24CF8B0C3EFF52F9662D0D7preparefS0_FTSS6paramsGSqGSaPSs9AnyObject____VSs14COpaquePointer in SQLiteDB.o
"_sqlite3_bind_null", referenced from:
__TFC12AppToday8SQLiteDBP33_9CF002B13E24CF8B0C3EFF52F9662D0D7preparefS0_FTSS6paramsGSqGSaPSs9AnyObject____VSs14COpaquePointer in SQLiteDB.o
"_sqlite3_bind_parameter_count", referenced from:
__TFC12AppToday8SQLiteDBP33_9CF002B13E24CF8B0C3EFF52F9662D0D7preparefS0_FTSS6paramsGSqGSaPSs9AnyObject____VSs14COpaquePointer in SQLiteDB.o
"_sqlite3_bind_text", referenced from:
__TFC12AppToday8SQLiteDBP33_9CF002B13E24CF8B0C3EFF52F9662D0D7preparefS0_FTSS6paramsGSqGSaPSs9AnyObject____VSs14COpaquePointer in SQLiteDB.o

Etc..

下面的打印屏幕显示了项目的结构和我添加的文件。

enter image description here

我的想法是在扩展项目中添加 SQLiteDB.swift 和 String-Extras 以便能够对数据库进行 sqlite 调用。我还添加了必要的 briding-header 文件,但我收到了上述错误。

我在另一个线程中看到我可以在设置 > 位置中删除 DerivedData 文件夹,但这并没有解决问题。

有人知道为什么会这样吗?奇怪的是它在主项目中有效但在扩展中却无效...

最佳答案

我将 libsqlite3.0.dylib 添加到应用程序和扩展程序中。因此,如果您的应用程序和扩展程序都将使用您的数据库,则您需要将其作为目标。

关于sqlite - Swift - Apple Mach-O 链接器错误 sqlite3 本地数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30149245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com