【问题标题】:using NSWorkspace activateFileViewerSelectingURLs:atFilesDest without activating finder使用 NSWorkspace activateFileViewerSelectingURLs:atFilesDest 而不激活查找器
【发布时间】:2012-11-11 05:04:49
【问题描述】:

我正在使用它在最前面的查找器窗口中选择一堆文件,效果很好:

[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:atFilesDest];

但是,取景器出现在我真正不想要的东西前面。

有什么办法吗?

【问题讨论】:

    标签: objective-c selection finder nsworkspace


    【解决方案1】:

    我知道这是一个老问题,但为了像我这样的任何其他谷歌用户,我建议使用 AppleScript 或使用Scripting Bridge(可能是脚本桥)。

    然后,您可以在 Finder 中执行“选择”命令,而不执行“激活”命令,这样 Finder 就不会被激活。

    【讨论】:

      【解决方案2】:

      已解决:我正在使用终端解决 Xcode 错误,我的应用套件有时会卡在 Dock 中。 (我还在努力解决为什么 Xcode 有这个 bug。)

      此解决方法导致 activateFileViewerSelectingURLs a.k.a. 'Reveal In Finder...' 停止工作:

      sudo killall launchservicesd; sudo killall Dock;
      

      这个新的解决方法修复了“在 Finder 中显示”问题:

      sudo killall launchservicesd; sudo killall Dock; sudo killall Finder;
      

      原来的问题:

      [[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:urls];
      

      Finder 不再显示在最前面,而且我的应用程序窗口通常会遮挡 Finder 窗口,因此用户不知道刚刚发生了什么。

      我找不到激活 Finder 并将其置于最前面的解决方法。

      我尝试了各种方法,例如 [NSApp deactivate] 和其他 NSApp api。还有其他人有这个问题吗?我注意到 El Cap 改变了聚光灯的工作方式,将“在 Finder 中显示...”隐藏在列表底部。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-05
        • 2015-05-25
        • 2018-04-22
        • 1970-01-01
        相关资源
        最近更新 更多