gpt4 book ai didi

objective-c - ObjCMongoDB 坏了?我无法让它工作

转载 作者:搜寻专家 更新时间:2023-10-30 20:25:21 24 4
gpt4 key购买 nike

全面披露:

我不是受过教育的程序员,我的全部编程经验都在 Javascript 和 Objective-C 中。

现在您知道自己在处理什么了。小心行事。没有突然的 Action 。


我正在编写一个与 Mac 服务器通信的 iPad 应用程序。我想将 MongoDB 用作后端,而 ObjCMongoDB 看起来非常适合,但我无法使用此处的说明让它工作:

https://github.com/noa--/ObjCMongoDB/wiki/GettingStarted

我的重现步骤:

  1. 在 gitHub 上的 ObjCMongoDB 主页面中,单击“在 Mac 中克隆”(我正在使用 GitHub for Mac 来处理下载)

  2. 从命令行导航到 ObjCMongoDB 目录并键入:

    git submodule update
  3. 然后:

    git checkout v0.9.6
  4. mongo-c-driver/src 文件夹复制到 XCode 项目文件夹中

  5. 在 XCode 中,在名为“ObjCMongoDB”的项目中创建一个新组并选择它

  6. 将第 4 步中的 src 文件夹添加到项目中,但不添加到目标中。

  7. 将Project中的src名称改为mongo-c-driver

  8. mongo-c-driver 中的这些文件添加到目标:

    • bson.c
    • 编码.c
    • 数字.c
    • mongo.c
    • md5.c
    • env.c

  9. 在 XCode 中,再次选择 ObjCMongoDB 组,并将以下文件夹添加到项目和目标中,选中“为任何添加的文件夹创建组”:

    • ObjCMongoDB/BSON
    • ObjCMongoDB/Mongo
    • ObjCMongoDB/OrderedDictionary

根据分步指南,我现在应该可以构建和运行我的项目,但是出现错误。

  • 首先,来自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 个论点......


所以我很茫然。任何帮助将不胜感激。

最佳答案

我是 ObjCMongoDB 的作者。感谢您对图书馆的关注以及对您的问题的提醒。

要解决第一个问题,请将 MongoConnection+Diagnostics.h 中的 #import 行更改为 #import "ObjCMongoDB.h"。 (在上一个版本之后,这已在 master 中修复。)

另一个问题是因为 v0.9.6 基于比您正在使用的文件更早版本的 Mongo C 驱动程序,我猜您是从 Github 上的 10gen 存储库下载或克隆自己的。

C 驱动程序设置为子模块,因此当您克隆 ObjCMongoDB 时,您应该看到一个空的 mongo-c-driver 文件夹。

从您的存储库根目录,您可以运行此命令:

git submodule update --init

应该加载正确版本的 Mongo C 驱动程序(我的 fork 是 v0.9.6,但下一个版本将使用正式版本)。我在自述文件中添加了关于此步骤的注释。

一旦您将这些版本的 .[ch] 文件添加到您的项目中,它应该可以正确构建。

关于objective-c - ObjCMongoDB 坏了?我无法让它工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16466982/

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