我正在使用NSURL
OS X 10.6 中引入的新书签数据 API 将“别名”存储到文件系统资源。当我使用
+[NSURL URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:]
解析书签数据,nil
如果文件不再存在,我会得到。由于我没有传入NSURLBookmarkResolutionWithoutUI
书签解析选项,我希望得到一个对话框,就像当您打开不再解析的别名文件时 Finder 显示的那样(即取消、修复别名等的对话框) .
有没有办法NSURL
自动提示重新连接/解决损坏的书签数据?
书签数据通过以下方式创建:
NSError *err
NSData *bookmarkData = [myFileURL bookmarkDataWithOptions:NSURLBookmarkCreationSuitableForBookmarkFile
includingResourceValuesForKeys:nil
relativeToURL:nil
error:&err];
虽然如果我使用0
选项而不是NSURLBookmarkCreationSuitableForBookmarkFile
.
我尝试通过以下方式解决相同的问题bookmarkData
:
BOOL stale;
NSError *err
NSURL *resolvedURL = [NSURL URLByResolvingBookmarkData:self.bookmarkData
options:0
relativeToURL:nil
bookmarkDataIsStale:&stale
error:&err];
经历将书签数据写入 finder 别名文件的过程,然后通过从该文件中读取书签数据以及上述方法来解析 URL 也不会产生所需的 UI 结果(尽管在 Finder 中打开别名文件确实会产生所需的 UI 对话框)。