ObjCMongoDB 坏了?我无法让它工作

2023-12-21

全面披露:

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

所以现在你知道你在处理什么了。小心行事。没有突然的动作。


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

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

我的重现步骤:

  1. 从 gitHub 上的 ObjCMongoDB 主页面,单击“Clone in Mac”(我使用 GitHub for Mac 来处理下载)

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

    git submodule update
    
  3. Then:

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

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

  6. Add the src将步骤 4 中的文件夹复制到项目,但不复制到目标。

  7. 更改名称src在项目中mongo-c-驱动程序

  8. 将这些文件添加到mongo-c-驱动程序到目标:

    • 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>
    

    我没有一个名为对象CMongoDB此时,这显然会失败。

  • 更让人困惑的是这个漂亮的错误 http://pressuremedia.com/stackoverflow/error.png,然后是有问题的 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 的作者。感谢您对图书馆的兴趣以及对您的问题的提醒。

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

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

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

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

git submodule update --init

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

添加这些版本后.[ch]相反,它应该正确构建。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ObjCMongoDB 坏了?我无法让它工作 的相关文章

  • 我可以更改键盘方向吗?

    例如我用这段代码关闭自动旋转 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation interfaceOrientation return NO BOOL sh
  • 使用 Simulator 时 Xcode 10 中的屏幕截图尺寸错误

    我正在尝试使用 Xcode 10 模拟器为 iTunes 制作屏幕截图 但图像大小错误 我读过Debug gt Optimize Rendering for Window Scale会有帮助 但在 Xcode 中没有这样的选项 有人有这个问
  • 在不同的捆绑包上测试 iPhone 应用内购买?

    我们有一组 iPhone 应用程序的 Beta 测试人员 最近 我们在应用程序中添加了应用内购买功能 在此之前 我们会使用单独的捆绑 ID 和名称向 Beta 测试人员发送临时版本 以便他们可以在手机上拥有商店版本和临时版本 然而 似乎我们
  • Git - 如何将整个目录恢复到特定提交(删除任何添加的文件)

    我想恢复 git 中的目录 恢复其中的所有文件 并删除自该提交以来添加的所有文件 进行结账似乎只能满足我的第一个要求 但不会删除任何文件 我想出了最简单的解决方案 git rm path to dir git checkout
  • git 排除与忽略

    I use Tower http www git tower com 用于在 Mac 中使用 Git Tower 中的设置具有创建 gitignore 的 忽略 部分 但它还有另一个名为 排除 的部分 似乎可以将排除与 git ls fil
  • CBPeripheral 名称有时为 null

    我正在开发一个应用程序来与蓝牙 LE 外围设备进行通信 我目前正在测试的外围设备是其中之一these http www ti com tool cc2540dk mini 有趣的是 有时当我发现它时 我会得到它的正确名称 SimpleBLE
  • 无法通过 Git Bash 克隆 git 存储库

    在尝试使用克隆存储库时git clone 它显示以下错误 致命 无法访问 https github com microsoft c9 python getting started git https github com microsoft
  • git reflog 和 log 有什么区别?

    手册页说 log 显示提交日志 reflog 管理 reflog 信息 reflog 信息到底是什么 它有哪些日志没有的信息 日志看起来更详细 git log显示当前的 HEAD 及其祖先 也就是说 它打印提交 HEAD 指向的提交 然后打
  • 为什么 Git 无法将文件更改与修改后的父级/主控合并?

    我有一个文件 里面只有一行 我创建一个分支并向同一文件添加第二行 保存并提交到分支 我切换回主人 并向文件中添加不同的第二行 保存并提交给master 现在总共有 3 条独特的线路 如果我现在尝试将分支合并回主分支 则会遇到合并冲突 为什么
  • 暂停视频录制[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试创建一个应用程序 用户可以在其中从相机录制视频 该应用程序的功能之一必须是文件录制中的暂停 例如 用户通过按 开始 按钮开始
  • iOS中的performSelector有什么用

    的作用是什么执行选择器 比较 self btnClicked and self performSelector selector btnClicked void btnClicked NSLog Method Called 两者都对我来说工
  • 我们可以从 LinkPresentation 框架中的 LPLinkView 中提取图像吗?

    我想在我的应用程序中呈现丰富的链接 并将这些数据发送到我的服务器 我需要访问视图内的图像LPLinkView https developer apple com documentation linkpresentation lplinkvi
  • 适用于 Objective-C / iPhone 的良好 HTTP 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 UPDATE 这个问题显然已经过时了 参见日期 我建议只使用现代 iOS7 功能 例如 NSURLSession 我想 这个问题是为了历史
  • 除非我在项目目录中,否则 Git 不会显示日志

    我正在尝试打电话git log当我在不同的目录中时 我经过的位置 git is git log Users Leica proj1 但它说 不是 git repo 如果我cd进入这个目录 就可以正常工作了 cd Users Leica Pr
  • PrepareForSegue之谜

    我在两个不同的 VC 中有一个prepareForSegue 方法 一个使用一个if声明 而另一个旨在使用switch 除了名称之外 代码几乎相同 这个效果很好 void prepareForSegue UIStoryboardSegue
  • Xcode 3.1.4 中内置分析器

    我想知道 Xcode 3 1 4 中内置的分析器是否使得单独使用 LLVM Clang 静态分析器变得多余 请参考这里的原文 使用 LLVM Clang 静态分析器查找内存泄漏 http www fruitstandsoftware com
  • 如何在不在存储库中的情况下执行 Git 命令?

    有没有一种方法可以在不位于存储库的情况下对存储库执行 Git 命令 例如这样的事情 git home repo log 请不要告诉我cd到它 我正在通过一个exec call Use C作为 git 的第一个参数 git C home re
  • 使用 Storyboard 时获取 NSManagedObjectContext

    目标是获取当前的 NSManagedObjectContext 以便使用 Core Data 在 iOS 4 3 中 我将 UINavigationController 的委托设置为 AppDelegate 如下所示 在 AppDelega
  • 将 CALayer 旋转 90 度?

    如何旋转CALayer90度 我需要旋转所有内容 包括子图层和坐标系 Obj C theLayer transform CATransform3DMakeRotation 90 0 180 0 M PI 0 0 0 0 1 0 Swift
  • 部分共享git仓库

    我是 git 新手 我想知道是否支持以下场景 如果支持的话如何支持 即用于设置和更新的 git 命令 可以从三个不同的地方获取存储库 本地 镜像 和 github mirror 完全镜像 local github 镜像 local 但 受版

随机推荐

  • 当前未启用语法“nullishCoalescingOperator”

    当我尝试在 ios simulator 上构建我的应用程序时 它说 捆绑失败 SyntaxError Users MyName MyApp node modules react native node modules react nativ
  • 使用代理身份验证连接到 Team Foundation Server (TFS)

    昨天我在 Codeplex 中创建了一个新项目 我创建了从 Visual Studio 到分配给我的 TFS 服务器的连接 并成功上传了我的解决方案 今天 我尝试再次连接到 Codeplex TFS 服务器以解决该问题 当我尝试打开它时 出
  • 字符串拆分和连接

    我有一系列字符串 我需要能够将该集合中的项目加入到一个字符串中 然后向后拆分该字符串并获取原始字符串集合 当然 我需要为连接 拆分操作引入一个分隔符 鉴于原始字符串可以包含任何字符 我还需要处理分隔符转义 我的问题很简单 是否有一个 Jav
  • 为什么 python 十进制库不为某些输入返回指定数量的有效数字

    NB 这个问题是关于有效数字 https en wikipedia org wiki Significant figures 这是not关于 小数点后的数字 或类似问题 EDIT 这个问题是not的副本小数模块中的有效数字 https st
  • mod_rewrite 用户 ID 错误

    我是重写网址的新手 想知道如何重写 由此 个人资料 4 对此 profile php id 4 到目前为止我有这个规则 RewriteRule profile 0 9 profile php id 1 但它在浏览器中显示这个 Firefox
  • #2006 - MySQL 服务器因数据库导入而消失

    所以我有一台新电脑 我正在尝试为一些项目设置一切 当我尝试导入某些数据库时 在 phpmyadmin 中导入失败后收到此消息 Missing expression near ON at position 25 SET FOREIGN KEY
  • 机械化如何添加到选择列表?

    我刚刚开始尝试通过 mechanize 提交网络表单 在有一个项目列表可供选择 MASTER MODS 这些可以选择MODS使用按钮add MODS or in IT MODS使用按钮add IT MODS 见下图 在表单中 它看起来像这样
  • 使用knitr和RStudio生成的html文件的默认位置变化很奇怪

    创建一个新的包类型的 RStudio 项目 创建一个小插图目录 创建两个新的 R Markdown 模板 位于包的顶层 与DESCRIPTION 和 vignettes 目录中的一个 将两者编织为 html 第一个 Rmd 的生成 html
  • 在pyqt4 python中以编程方式编辑制表符顺序

    我的表单中有多个文本字段 我的问题是 Tab 键顺序错误 有没有办法在代码中编辑 Tab 键顺序 就像在 QT Designer 中一样 thanks Use QWidget setTabOrder https doc qt io qt 4
  • hibernate HQL createQuery() list() 类型直接转换为模型

    当我在 createQuery 之后使用 Hibernate HQL 的 list 时 我想直接键入强制转换List
  • 转移的主机和设置cookie现在不起作用[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在开发
  • 在 Project Explorer (Eclipse) 中查找项目位置

    我在上下文菜单中添加了一个按钮 仅当您在 项目资源管理器 窗口中右键单击时才执行 我希望能够获取 项目资源管理器 窗口中的每个项目 获取 项目名称 和 项目位置 然后将其单独放入一个对象中 并返回新的对象数组 我找不到访问所需信息的方法 插
  • 奇怪的重复模板 - 变化

    关于CRP http en wikipedia org wiki Curiously recurring template pattern如果我想实现它的轻微变化 使用模板模板参数 我会收到编译错误 template
  • 自动从我的服务器上传文件到S3的方法

    我有一个项目要完成 但我陷入了困境 我们能否以一定的时间间隔自动将文件从服务器上传到 S3 中 例如 应上传一部分数据 然后每隔一小时上传下一组数据 请按照以下步骤操作 创建一个脚本文件 例如将其命名为 script sh 将其添加到 sc
  • 检测移动设备上隐藏/不可见的蓝牙设备

    我有目标设备的蓝牙 mac id 然而 蓝牙处于隐藏 不可见模式 两款手机都是安卓手机 非根 我做了我的研究 我 知道 如果我知道 mac id 我可以连接到设备 在大多数情况下 但是我只想扫描邻近度而不是连接 即如果目标设备在蓝牙范围内并
  • 了解 VTune 报告

    这是现有线程的后续内容 http stackoverflow com questions 12724887 caching in a high performance financial application 我发现这不是阻碍我的应用程序
  • 使用node js返回所有带有过滤文件的文件

    我想返回文件夹和子文件夹中存在的文件 但需要对扩展名以 html htm 或 aspx 结尾的文件进行过滤 我有一个代码只返回带有扩展名的文件Index html Default htm Index aspx也需要文件的其余部分 但不知道如
  • 如何从 JSPX 输出

    一些 html 标签将给定属性的 任何 值解释为 true gt 选项标签浮现在脑海中 我经常最终做这样的事情
  • 在对象中实现打包/拆包

    我有一个仅包含属性的类 我希望对其进行打包 解包 什么collections abc我应该实现这种行为吗 class Item object def init self name age gender self name name self
  • ObjCMongoDB 坏了?我无法让它工作

    全面披露 我不是一个受过教育的程序员 我的全部编程经验都在 Javascript 和 Objective C 中 所以现在你知道你在处理什么了 小心行事 没有突然的动作 我正在编写一个与 Mac 服务器通信的 iPad 应用程序 我想使用