gpt4 book ai didi

c++ - 调用 [[NSBundle mainBundle] bundlePath] 时是否有生成相同字符串的 CoreFoundation 等效项?

转载 作者:行者123 更新时间:2023-11-28 07:17:57 30 4
gpt4 key购买 nike

当我使用 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/"

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

最佳答案

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

CFStringRef filepath = CFURLCopyFileSystemPath(path2, kCFURLPOSIXPathStyle);

关于c++ - 调用 [[NSBundle mainBundle] bundlePath] 时是否有生成相同字符串的 CoreFoundation 等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19933380/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com