【发布时间】:2016-09-02 08:55:18
【问题描述】:
我正在用原生 C++ 为 iOS 编写录音机,但我无法使用 Foundation API。
我需要这样的东西:
recordFilePath =
(CFStringRef)[NSTemporaryDirectory() stringByAppendingPathComponent: @"recordedFile.caf"];
在 iPhone 上获得可写路径。
非常感谢。
【问题讨论】:
-
你能解释一下为什么不能使用 Foundation API,如果它打算在 iPhone 上运行吗?
-
因为它必须用 Cocos2d-x 编译。
-
我想这就是我想要的,如果仍然有效的话:stackoverflow.com/questions/13469342/…
-
你听说过 Objective-C++ 吗?您可以通过将文件设置为 .mm 扩展名来混合 Objective-C (so Foundation) 和 C++ (Cocos2d-x)。在您的情况下,您可以在此 .mm 文件中使用一些实用程序功能,例如 resourcePath() 并在 cpp 中使用它们而不会出现任何问题。否则,您仍然可以使用纯 C 的 CoreFoundation。Foundation 几乎不是 CoreFoundation 的 Objective-C 包装器(有一些添加)。
-
感谢您的回答,我知道了。但正如我所说,C++ 类必须是独立的,并且不应该从 .mm 调用任何外部函数——我认为如果我使用 getenv("HOME") 我可以在没有任何 Foundation 参考的情况下实现我想要的。不过,谢谢你的代码,你很友善。
标签: c++ ios native audioqueue