问题标签 [nsworkspace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocoa - 为什么 NSWorkspace 的 openURL 不能为多个 URL 打开?
我有一个菜单项的操作,它应该基于“lyricLink”属性的值打开一个 URL。它会在第一次工作(以及所有后续的 'lyricLink' 值相同的时间)。但是如果 'lyricLink' 的值发生变化并且再次调用该操作,它将不会打开新链接。有任何想法吗?
disk - 可可如何获得已经安装的不可安装磁盘
NSWorkspaceDidMountNotification可以很好地获取刚刚安装的磁盘的信息。但是如何在我的应用程序启动之前获取已安装磁盘的信息?
命令行:“diskutil list”和“diskutil info /”有效,但那里应该有一个简单的编程方法。
“DiskArbitration”或“VolumeToBSDNode example”的搜索结果不起作用,IOkit 困难。
顺便说一句,有人推荐使用这个吗?[NSWorkspace getFileSystemInfoForPath:isRemovable:isWritable:isUnmountable:description:type:]
macos - 如何判断 NSWorkspaceWillPowerOffNotification 是由重启还是关机引起的?
我正在开发一个 Cocoa 应用程序,我需要在应用程序关闭之前执行不同的操作。我需要知道应用程序何时因重启而关闭,何时因关机而关闭。
NSWorkspaceWillPowerOffNotification
无论是重启还是关机,通过应用程序都会收到通知。
有没有办法确定断电的原因?
objective-c - 在启动守护进程中使用 Appkit 框架
我想使用 NSWorkspace 来检查应用程序是启动还是关闭。
但是这个过程是 Launch Daemon 并且 Apple 文档说它不是线程安全的。
但是,使用 Workspace 的部分代码不会在启动或登录时执行。它会在通过 BSD 通信从其他应用程序接收到一些命令后执行,并且进程是没有 UI 的后台进程?
在这种情况下使用 Appkit 框架是否安全?只有 NSWorkspace API 而没有其他?另一种解决方案是轮询?你的建议是什么?
objective-c - 有什么方法可以使 Finder 无法复制文件资源分叉?
有没有办法使资源分叉不可复制?特别是,我通过 NSWorkspace 为特定目录中包含的文件设置了一个自定义徽章图标– setIcon:forFile:options:
,我希望这些徽章在文件被复制到文件夹之外时立即丢失。
objective-c - 打开用户的浏览器,如果网站已经打开,则切换到相应的选项卡
在我的 Objective-C 应用程序中,我使用以下代码在用户的浏览器中打开一个网站:
这工作正常。但是,有一个小问题;如果用户已经在他的网络浏览器中打开了“blah.com”,那么调用它会不必要地创建一个新选项卡。
如果在这些情况下简单地切换到现有选项卡,那将是更好的用户体验。
有没有办法做到这一点?请注意,如果选项卡位于“blah.com”的子页面上,例如“blah.com/some/page.html”,我还想切换到现有选项卡。
macos - 如何使用 KVO 检测应用程序何时激活?
我在 Cocoa 应用程序中有以下代码:
我的意图是使用 KVO 在将应用程序的状态从非活动更改为活动时检测应用程序。
我读到我必须使用实例方法-addObserver:forKeyPath:options:context:
然后用于-observeValueForKeyPath:ofObject:change:context:
响应更改通知。
我知道这-observeValueForKeyPath
是一种回调方法,我可以在其中编写代码来响应我感兴趣的属性更改。
尽管如此,我对必须如何使用 addObserver 方法以便在active
属性runningApplications
更改时收到通知感到困惑。现在,我想知道在哪里进行注册,现在我正在使用-applicationDidFinishLaunching
但不确定是否是正确的地方。此外,如果我使用-observeValueForKeyPath
回调方法,我必须在继承自的类中实现它,NSObject
并且与我注册通知的类相同?
objective-c - 在 Finder 的图标视图(IKImageBrowserView)中重新显示更改的自定义图标
我正在使用NSWorkspacesetIcon:forFile:options:
类的方法为文件和目录设置自定义图标。我的问题是,Finder 在重新启动之前不会反映图标视图中的图标更改。
图标视图:
列表视图(大纲视图):
cocoa - -[NSWorkspace openFile:withApplication:] 等待打开应用程序
在我的 Obj-C 应用程序中,我使用以下代码在 Pages(或任何其他应用程序)中打开文件:
主要是在打开较大的文件时,这可能需要几秒钟才能完成。所以我希望我的应用程序等待页面,直到它完全打开文件。
以下代码是我想做的事情:
当然我可以简单地使用 sleep() 函数,但这会减慢小文件的应用程序速度,并且当文件大于例外时将无法工作。
我已经尝试过使用 NSApplication 进行一些操作,但是不尊重在 Pages 中打开文件,只能监视目标应用程序的启动。
有任何想法吗?