【发布时间】:2016-04-21 19:37:13
【问题描述】:
您好,我正在开发一个 IOS 应用程序,其中包含需要读取二进制文件的 cpp 文件。不幸的是,通过函数调用将路径从 .mm 文件发送到 cpp 文件不是一种选择。我看到的唯一方法是 cpp 文件应该以某种方式调用 .mm 文件中的函数,然后返回二进制文件的确切路径。我该怎么做?
【问题讨论】:
您好,我正在开发一个 IOS 应用程序,其中包含需要读取二进制文件的 cpp 文件。不幸的是,通过函数调用将路径从 .mm 文件发送到 cpp 文件不是一种选择。我看到的唯一方法是 cpp 文件应该以某种方式调用 .mm 文件中的函数,然后返回二进制文件的确切路径。我该怎么做?
【问题讨论】:
听起来像是从 C/C++ 调用 ObjectiveC 方法(从应用程序包返回文件路径)是您想要实现的。这个SO问题有答案How to call an Objective-C Method from a C Method?
要获取二进制文件的实际路径,请将其添加到您的 Xcode 项目中,并确保将其添加到 Xcode 项目设置中的“构建阶段”>“复制捆绑资源”阶段。
打电话
[[NSBundle mainBundle] resourcePath]
获取应该包含二进制文件的目录的路径。
不要忘记查找辅助方法,例如
[NSString stringByDeletingLastPathComponent];
使用文件路径时。
【讨论】: