0

NSBundle を使用する場合:

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

path1 が成り立つ

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

CFBundle を使用する場合:

    CFURLRef path2 =CFBundleCopyResourcesDirectoryURL(CFBundleGetMainBundle());

path2 が成立する

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

path1 と同じ文字列を生成するために使用できる CoreFoundation に相当するものはありますか? (「file://」と「%20」を適切なスペースとして使用しないでください。)または、それらを自分で削除するために追加の処理を行う必要がありますか? C++ のみのクラスで使用する必要があります。

4

1 に答える 1

3

最初のものは文字列を提供し、2 番目は URL を提供します。関数を使用してCFURLCopyFileSystemPath、ファイル URL から適切なファイル パスを取得します。

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