如何使用 C 找到应用程序包 (NSBundle) 中文件的路径?

2023-11-23

是否有 C API 用于查找应用程序包中文件的路径?

我知道这可以在 Objective-C 中使用以下语法来完成。

NSString *path = [[NSBundle mainBundle] pathForResource:@"MyImage" ofType:@"bmp"];

是否也可以从 C 或 C++ 代码调用相应的函数?


After Mike K 为我指明了正确的方向,我能够使用以下代码检索应用程序包中文件的路径。

// Get a reference to the main bundle
CFBundleRef mainBundle = CFBundleGetMainBundle();

// Get a reference to the file's URL
CFURLRef imageURL = CFBundleCopyResourceURL(mainBundle, CFSTR("MyImage"), CFSTR("bmp"), NULL);

// Convert the URL reference into a string reference
CFStringRef imagePath = CFURLCopyFileSystemPath(imageURL, kCFURLPOSIXPathStyle);

// Get the system encoding method
CFStringEncoding encodingMethod = CFStringGetSystemEncoding();

// Convert the string reference into a C string
const char *path = CFStringGetCStringPtr(imagePath, encodingMethod);

fprintf(stderr, "File is located at %s\n", path);

这似乎比需要的时间长一点,但至少它有效!

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

如何使用 C 找到应用程序包 (NSBundle) 中文件的路径? 的相关文章

  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • Mac 上的 Delphi - 可能吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我负责一个 Delphi Win32 项目管理应用程序 我刚刚完成了向 Delphi 2009 的迁移
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • grunt-concat 分隔符选项?

    如何在这种情况下指定分隔符 我用 grunt concat 这样连接我的文件 concat options banner separator dist files public scripts ieditor js public scrip
  • 我应该在 SQL Server 中为位字段建立索引吗?

    我记得曾经读到过 为低基数 少量不同值 的字段建立索引并不值得做 我承认我对索引的工作原理了解不够 无法理解其中的原因 那么 如果我有一个包含 1 亿行的表 并且我选择位字段为 1 的记录 该怎么办 假设在任何时间点 只有少数记录的位字段为
  • 如何进行一维“有效”卷积? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在尝试在 C 中以 有效 模式 Matlab 定义 实现一维卷积 这看起来很简单 但我还没有找到用 C 或事实上我可以适应的任何其他语言 执行此操作的代码 如果我的向量大小是
  • blackberry 10 未解决的包含

    我正在使用新版本的黑莓 黑莓10 我正在尝试将 C 代码与 QML 集成 但我遇到了一些我认为与其他 h文件中的Q OBJECT Q PROPERTY信号和槽表明存在语法错误 在我尝试使用这种类型的 QML 文件中 例如 import Cu
  • 用于解锁驱动器的 Bitlocker 脚本

    我想要实现的是创建一个非常小的脚本来解锁我的 Bitlocker 驱动器 使用密码 而不是恢复密码 微软有一个命令可以做到这一点 它是 manage bde unlock D password where D是我的位锁驱动器 如果我运行此命
  • 如何在 Google App Engine (Java) 中启用会话支持?

    如何使用 Java 启用 GAE 会话支持 另外 还有一个相关问题 我只想在会话中存储少量状态 基本上只是一个密钥 GAE 是否会将这些信息存储在客户端 cookie 中 如果是 这种方法的安全性如何 Thanks 对于第一个问题 在你的a
  • Windows Azure 上的 Jenkins 从属连接问题

    我已在 Windows Azure VM 上设置了 Jenkins 从属节点 在该节点上构建时 项目可以平稳运行大约 20 30 分钟 之后连接就会断开 当连接断开时 我一直在节点虚拟机上 并且似乎正在丢失 重置与 Jenkins Mast
  • 如何从 onclick div 属性检测 Javascript 中的 control+click? [复制]

    这个问题在这里已经有答案了 我需要知道用户是否正在单击或控制单击 div 元素 我已经看到了如何使用事件侦听器执行此操作的示例 但我的代码已经设置到位 并且正在使用元素上onclick方法 HTML div blah div JS func
  • Angularjs 使用下拉菜单过滤数据

    我对 angularjs 和 javascript 有点陌生 所以请友善 我有两个下拉项 Ionic Select 它们都保存来自服务的数据 问题是我需要过滤它们才能一起工作 例如 如果我在第一个下拉列表中选择一家公司 则只有该公司内部的代
  • @TestPropertySource 未加载属性

    我正在为 Spring Boot 应用程序编写集成测试 但是当我尝试使用 TestPropertySource 覆盖某些属性时 它会加载上下文 xml 中定义的属性文件 但不会覆盖注释中定义的属性 RunWith SpringJUnit4C
  • 用汇编程序编写 x86_64 Linux 内核模块

    我尝试在 nasm 中编写简单的内核模块 v3 6 但 insmod 告诉我 sudo insmod hello ko insmod ERROR could not insert module hello ko Invalid module
  • 键盘弹起时调整滚动视图

    我有一个带有表单的活动 因为表单很长 所以我使用了滚动视图 问题是键盘弹起时滚动视图不会改变 键盘与滚动视图的最后部分重叠 如何确保键盘位于滚动视图下方 并且调整滚动视图以适应其上方的空间 同时 有没有办法确保 上一个 和 下一个 按钮也在
  • 在 git post-commit 挂钩中,如何获取已更改的文件列表?

    尝试计算 Git 提交后挂钩中的提交花费了多长时间 我有一个提交后 git 挂钩 它通过 API 提交有关提交的信息 我想做的是弄清楚提交花费了多长时间 大致 我的假设是 可以通过找到所涉及文件的所有创建时间和修改时间的最小值并将其与最大创
  • 为什么我得到;使用“const char *”类型的表达式初始化“char *”会丢弃限定符吗?

    我不明白为什么我会收到此警告clang我自己 function prototype const modifier c 13 8 warning initializing char with an expression of type con
  • Django:在模板中列出模型字段名称和值[重复]

    这个问题在这里已经有答案了 可能的重复 Django 迭代模板中的模型实例字段名称和值 Hi 我试图在模板中列出通用 Django 模型的字段和相应值 但是 我找不到针对相当常见问题的内置解决方案 我非常接近解决方案 但找不到出路 view
  • 在JS中从ids自动创建变量? [复制]

    这个问题在这里已经有答案了 就在今天 经过几年的 JavaScript 编程 我遇到了一些让我震惊的事情 浏览器为每个具有 id 的元素创建对象 对象的名称将与 id 匹配 所以如果你有 div div 你可以做 alert box obj
  • Obj-C 2.0 中合成原子 @properties 的锁定细节

    Obj C 2 0 中的属性文档说原子属性在内部使用锁 但没有记录锁的细节 有谁知道这是一个按属性锁 一个与 synchronized self 使用的隐式锁分开的按对象锁 还是 synchronized self 的等效项 查看生成的代码
  • 每个用户的 Firebase 文档?

    我想知道如何在每个用户创建帐户 使用 Firebase Web 时为他们制作一个文档 我启用了 Firebase 身份验证并正在运行 我希望每个用户都可以在 Cloud Firestore 中名为 users 的集合中拥有一个文档 我如何获
  • 日期错误异常

    我正在尝试使用 java 在 sql 中输入 1900 年的日期 但出现异常 com mysql jdbc MysqlDataTruncation Data truncation Incorrect datetime value 1900
  • 如何使用 C 找到应用程序包 (NSBundle) 中文件的路径?

    是否有 C API 用于查找应用程序包中文件的路径 我知道这可以在 Objective C 中使用以下语法来完成 NSString path NSBundle mainBundle pathForResource MyImage ofTyp