0

当我使用 NSBundle 时:

NSString *path1 = [[NSBundle mainBundle] bundlePath];

路径 1 持有

@"/Users/username/Library/Application Support/iPhone Simulator/7.0.3-64/Applications/2EDB/appname.app"

当我使用 CFBundle 时:

    CFURLRef path2 =CFBundleCopyResourcesDirectoryURL(CFBundleGetMainBundle());

路径 2 持有

@"file:///Users/username/Library/Application%20Support/iPhone%20Simulator/7.0.3-64/Applications/2EDB/appname.app/"

我可以使用 CoreFoundation 等价物来生成与 path1 相同的字符串吗?(没有“file://”和“%20”作为适当的空格。)或者我需要做额外的处理来自己删除这些吗?我需要在仅限 c++ 的类中使用它。

4

1 回答 1

3

第一个给你一个字符串,第二个给你一个 URL。使用该CFURLCopyFileSystemPath函数从文件 URL 中获取正确的文件路径。

CFStringRef filepath = CFURLCopyFileSystemPath(path2, kCFURLPOSIXPathStyle);
于 2013-11-12T15:40:26.320 回答