2

我想知道是否有一种方法可以仅使用 C++ 获取对 iOS 上 Documents 文件夹的引用(即不使用 Objective-C 中的任何代码;这是因为它是一个仅在 C++ 中实现的框架,可以作为库添加在 iOS 项目中)。

如果可能,请在您的答案中提供代码。

4

3 回答 3

7

使用下面的代码,我可以访问我的应用程序中的缓存文件夹。我认为,“/Library/Documents”中的文档文件夹或其他文件夹。

char *home = getenv("HOME");
char *subdir = "/Library/Caches/subdir";

home+ subdir= 完整路径

接下来,使用完整路径,您可以在 C++ 中执行通常的读取/写入操作

于 2013-06-24T20:48:10.400 回答
1

是的,您可以访问普通的 Unix API。在此处查看 Apple的iOS 联机帮助页

于 2012-11-20T08:56:40.587 回答
1

获取路径(使用 Cocoa API),然后使用 API 将其转换为与 C++ 字符串兼容的表示,例如:CFStringGetFileSystemRepresentation、、 CFURLGetFileSystemRepresentation-[NSString fileSystemRepresentation]

就像是:

// you may need to wrap this in an autorelease pool
NSArray * paths(NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES));
const char* const path([[paths objectAtIndex:0] fileSystemRepresentation]);
if (0 == fsrep) {
  uh-oh
}
const std::string result(path);

然后你可以简单地把它放在它自己的 ObjC++ 翻译中并result从函数中返回(这对你的 C++ 源代码的其余部分是可见的)。

于 2012-11-20T09:11:13.443 回答