代码之家  ›  专栏  ›  技术社区  ›  Barry Wark

用于nsurl bookmarkdata解析且缺少文件的finder样式ui?

  •  1
  • Barry Wark  · 技术社区  · 14 年前

    我在用新的 NSURL OSX10.6中引入的书签数据API,用于将“别名”存储到文件系统资源中。当我使用

    +[NSURL URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:]
    

    为了解决书签数据,我得到 nil 如果文件不再存在。因为我是 经过 NSURLBookmarkResolutionWithoutUI 在bookmark resolution选项中,我希望得到一个对话框,就像打开不再解析的别名文件时finder显示的那样(例如,一个要取消的对话框,修复别名等等)。

    有没有办法 纽约州立大学 是否自动提示重新连接/解决断开的书签数据?

    书签数据通过以下方式创建:

    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对话框)。

    1 回复  |  直到 14 年前
        1
  •  5
  •   Nicholas Riley    14 年前

    不需要。如果目标位于需要身份验证才能连接的未装载文件服务器上,则可能会显示书签/别名解析中涉及的UI。“重新连接”对话框由finder提供,用于响应无法解析的别名;如果希望应用程序具有类似的行为,则需要自己实现它。