如何在CFStringRef中编码包含空格的路径

时间:2014-03-17 09:07:56

标签: objective-c cocoa

我正在尝试使用FSEvent API来查看cocoa中的更改文件夹。只要提供的文件夹名称没有空格,我的实现就可以正常工作。

到目前为止,我无法弄清楚如何制作一个指向名称中包含空格的文件夹的正确CFStringRef。

到目前为止的尝试(没有一个有效):

CFStringRef fpath = CFSTR("/Applications/Program With Spaces.app/Contents/Whatever");

CFStringRef fpath = CFSTR("/Applications/Program\\ With\\ Spaces.app/Contents/Whatever");

fpath = CFURLCreateStringByAddingPercentEscapes (NULL,
                                                 fpath,
                                                 NULL,
                                                 NULL,
                                                 kCFStringEncodingUTF8);

其余代码与API文档中一样:

CFArrayRef pathsToWatch = CFArrayCreate(NULL, (const void **)&fpath, 1, NULL);
stream = FSEventStreamCreate(NULL,
                                 &mycallback,...

请帮助如何正确分配名称中包含空格的文件夹。感谢。

1 个答案:

答案 0 :(得分:0)

显然,FSEvent中的一个错误很少发生在某些文件夹中。到目前为止,我找不到可靠的解决方案。