所以现在你知道你正在处理什么。小心翼翼。没有突然的动作。
我正在写一个与Mac服务器对话的iPad应用程序。我想将MongoDB用作后端,而ObjCMongoDB看起来非常合适,但是我无法使用这里的说明来实现它:
https://github.com/noa--/ObjCMongoDB/wiki/GettingStarted
我的重复步骤:
从gitHub上的主要ObjCMongoDB页面,点击“在Mac中克隆”(我正在使用GitHub for Mac来处理下载)
从命令行导航到ObjCMongoDB目录并键入:
git submodule update
然后:
git checkout v0.9.6
将 mongo-c-driver / src 文件夹复制到XCode Project文件夹
在XCode中,在项目中创建一个名为“ObjCMongoDB”的新组并选择它
将步骤4中的 src 文件夹添加到项目中,但不添加到目标。
将项目中 src 的名称更改为 mongo-c-driver
将 mongo-c-driver 中的这些文件添加到目标:
在XCode中,再次选择ObjCMongoDB组,并将项目和目标添加到以下文件夹中,选中“为任何添加的文件夹创建组”:
根据循序渐进的指南,我应该能够建立&现在运行我的项目,但有错误。
首先,来自 MongoConnection + Diagnostics.h :
#import <ObjCMongoDB/ObjCMongoDB.h>
此时我没有名为 ObjCMongoDB 的框架,所以这显然会失败。
更令人困惑的是this nifty error,其次是相关API:
int bson_init_finished_data( bson *b, char *data, bson_bool_t ownsData ) {
_bson_zero( b );
b->data = data;
b->dataSize = bson_finished_data_size( data );
b->ownsData = ownsData;
b->finished = 1;
return BSON_OK;
}
当然似乎期待3个论点......
所以我很茫然。任何帮助将不胜感激。
答案 0 :(得分:1)
我是ObjCMongoDB的作者。感谢您对图书馆的兴趣以及关于您的问题的单挑。
要解决第一个问题,请将#import
中的MongoConnection+Diagnostics.h
行更改为#import "ObjCMongoDB.h"
。 (在最后一个版本之后,这已在master中修复。)
另一个问题正在发生,因为v0.9.6基于早期版本的Mongo C驱动程序,而不是你正在使用的文件,我猜你是从Github上的10gen存储库下载或克隆的。
C驱动程序设置为子模块,因此当您克隆ObjCMongoDB时,您应该看到一个空的mongo-c-driver
文件夹。
从您的存储库根目录,您可以运行此命令:
git submodule update --init
应该加载正确版本的Mongo C驱动程序(我的分支从v0.9.6开始,但下一个版本将使用正式版本)。我在自述文件中添加了关于此步骤的说明。
将.[ch]
文件的这些版本添加到项目后,应该正确构建。