【发布时间】:2012-11-11 05:04:49
【问题描述】:
我正在使用它在最前面的查找器窗口中选择一堆文件,效果很好:
[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:atFilesDest];
但是,取景器出现在我真正不想要的东西前面。
有什么办法吗?
【问题讨论】:
标签: objective-c selection finder nsworkspace
我正在使用它在最前面的查找器窗口中选择一堆文件,效果很好:
[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:atFilesDest];
但是,取景器出现在我真正不想要的东西前面。
有什么办法吗?
【问题讨论】:
标签: objective-c selection finder nsworkspace
我知道这是一个老问题,但为了像我这样的任何其他谷歌用户,我建议使用 AppleScript 或使用Scripting Bridge(可能是脚本桥)。
然后,您可以在 Finder 中执行“选择”命令,而不执行“激活”命令,这样 Finder 就不会被激活。
【讨论】:
已解决:我正在使用终端解决 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 中显示...”隐藏在列表底部。
【讨论】: