Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 使用firebase for iOS的leveldb-library.framework和Xcode9_Objective C_Swift_Firebase_Xcode9_Leveldb - Fatal编程技术网

Objective c 使用firebase for iOS的leveldb-library.framework和Xcode9

Objective c 使用firebase for iOS的leveldb-library.framework和Xcode9,objective-c,swift,firebase,xcode9,leveldb,Objective C,Swift,Firebase,Xcode9,Leveldb,我希望能够使用google随firebase iOS SDK提供的leveldb-library.framework。我似乎无法导入框架 我所做的: 1:将leveldb-library.framework复制到项目目录 2:在Xcode>Target>链接的框架和库[+]中添加框架 3:确保标题搜索路径设置正确 4:添加Objective-C++包装类并导入leveldb头 获取链接器错误: /Users/ronny/projects/clients/internal/TestCD/Te

我希望能够使用google随firebase iOS SDK提供的leveldb-library.framework。我似乎无法导入框架

我所做的: 1:将leveldb-library.framework复制到项目目录 2:在Xcode>Target>链接的框架和库[+]中添加框架

3:确保标题搜索路径设置正确

4:添加Objective-C++包装类并导入leveldb头

获取链接器错误:

/Users/ronny/projects/clients/internal/TestCD/TestCD/LevelDB.mm:11:9: fatal error: 'leveldb/db.h' file not found
#import "leveldb/db.h"
        ^~~~~~~~~~~~~~
1 error generated.
框架中的Headers目录提供了所有标题:db.h,options.h,但没有“leveldb”父目录

将导入更改为以下将引发相同的错误:

#import <leveldb/db.h>
#import <leveldb/options.h>
在这一点上,我不再确定可以做些什么来解决这个问题。添加导入路径也没有帮助。Xcode按如下方式完成导入:


如有任何关于解决此问题的建议,将不胜感激。该项目可以在这里找到:

该框架希望被称为
leveldb
,但您的示例将其称为
leveldb-library

mv leveldb-library.framework leveldb.framework
mv leveldb.framework/leveldb-library leveldb.framework/leveldb

使用重命名的框架更新Xcode项目,它将成功构建。

我也面临这个问题。您应该在嵌入式二进制文件上导入此框架。像下面这个步骤一样:Xcode>Target>Genral>Embedded binary和Libraries[+]添加框架。清理项目并运行。感谢您的评论。不幸的是,这并不能解决这个问题。编译器仍然抱怨'leveldb/db.h'文件找不到。非常感谢Paul的快速回答。它当然是按照你的建议工作的。我希望我可以重新使用leveldb-library.framework,我已经用firebase iOS sdk链接到我的项目上了。这应该是可能的——只是使用了更复杂的Xcode选项。你可以看看CocoaPods是如何设置项目以允许访问leveldb库的,或者将另一个包含Firebase的示例项目发布到github,我来看看。重命名框架后,我将CocoaPods生成的伞形头添加到headers目录,并添加Firebase框架。我能够从实时数据库中检索数据。非常感谢你的帮助。如果你想看一看,它应该都在回购协议中。
In file included from /Users/ronny/projects/clients/internal/TestCD/TestCD/LevelDB.mm:11:
/Users/ronny/projects/clients/internal/TestCD/leveldb-library.framework/Headers/db.h:10:10: fatal error: 'leveldb/iterator.h' file not found
#include "leveldb/iterator.h"
         ^~~~~~~~~~~~~~~~~~~~
1 error generated.
mv leveldb-library.framework leveldb.framework
mv leveldb.framework/leveldb-library leveldb.framework/leveldb