我正在尝试使用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,...
请帮助如何正确分配名称中包含空格的文件夹。感谢。
答案 0 :(得分:0)
显然,FSEvent中的一个错误很少发生在某些文件夹中。到目前为止,我找不到可靠的解决方案。