问题标签 [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.
macos - 我在哪里可以找到 Mac OSX 上“保存”和“打开”按钮的图标文件?
我正在 Cocoa 中寻找常用的“保存”和“打开”按钮(软盘图标/打开的文件夹图标)的图标。
按照建议,我搜索了以下路径:/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources
但是,我找不到“保存”和“打开”按钮的任何默认图标。
这两个按钮是否有任何默认系统图标?
objective-c - 可可 NSWorkspace setIcon:forFile:options: 不起作用
我正在将 png 文件复制到某个目标文件夹,然后将其图标设置为某个特殊图标。但是,图标不会改变 - 它仍然是 png 文件的预览。是否可以强制更换图标?也许以编程方式禁用 png 使用预览图像的倾向?
我正在做的是:
PS - 上面的代码适用于没有预览功能的文件(比如我用自己的特殊后缀手动创建的文件)。
谢谢,妮莉
objective-c - 在 OSX 中获取最前面的应用程序的活动文件
是否有机会通过 NSWorkspace、Accessibility API、Applescript 等在 Objective-C 中获取最前端应用程序的活动文件(假设该应用程序已打开文件)?
macos - 在 Mac OS X 上无需轮询即可检测代理应用程序启动和终止
我需要能够检测代理应用程序的启动和终止,而无需在 Mac OS X 上进行轮询
Apple 的技术说明 TN2050 建议使用 NSWorkspace 或 Kqueues。
似乎 NSWorkspaceDidLaunchApplicationNotifications 不适用于代理应用程序。我不完全理解为什么,但它对 LSUIElement=1 属性的存在很敏感。
KQueue API 只能使用 NOTE_EXIT 检测进程终止,并且会成功检测到应用程序代理的退出。但是,无法使用此 API 检测应用启动事件。
我还尝试了内核授权子系统,发现可以使用带有 KAUTH_VNODE_EXECUTE 的 KAUTH_SCOPE_VNODE 或带有 KAUTH_FILEOP_EXEC 的 KAUTH_SCOPE_FILEOP 来检测代理启动。但是我找不到使用 KAuth 检测进程终止的方法。
除了使用 KAuth 来检测启动和 KQueue 来检测终止之外,是否有更好的方法来检测代理应用程序的启动和终止?
谢谢
objective-c - 在 Finder 窗口 OSX 中打开文件
我的问题是关于打开 Finder 窗口来显示文件。
要打开单个文件,可以这样做:
现在,如果用户尝试打开同一个 Finder,我需要一个 Finder file.path
。
为此,我添加file.path
了一个数组。
Finder
但是当用户关闭窗口并再次尝试打开文件时我被卡住了(因为活动窗口具有带有路径的数组)。然后Finder不显示:(
任何帮助如何进行此操作。
有没有办法检查
Finder
打开窗口的路径?有没有办法为查找器获取回调,以便我可以
file.path
从数组中删除?
xcode - 无法杀死的、伪造的 NSRunningApplication 坐在我的 Dock 中?
我在 OSX 10.9.4 上使用 Xcode 5.1.1 来调试 Cocoa + OpenGL 应用程序。到目前为止,我只在 Xcode 调试器下运行过我的应用程序。上周我退出 Xcode 只是为了找到我的应用程序的图标仍在 Dock 中。使用 Show In Finder 将我带到 Xcode 的 DerivedData 中的调试可执行文件。我最终重新启动以摆脱它(更多内容),直到今天一切都很好。但现在我的 Dock 中有两个这样的图标。
问题:这些应用程序不能被杀死!强制退出什么都不做。它们不会显示在使用“ps aux”或活动监视器的进程列表中。Restart 只是陷入了一个试图摆脱它们的循环。只有强制重启 Mac 才有效。
根据 NSWorkspace 的 runningApplication 方法,有 NSRunningApplication 实例与这些应用程序相关联。但是进程 ID 与实际进程不对应。控制台日志中没有任何相关内容。
其他人遇到过这种情况吗?让 NSWorkspace 摆脱虚假的 NSRunningApplication 实例有什么建议吗?
objective-c - 过滤 [NSWorkspace runningApplications] 以仅包含用户应用程序(无守护程序/UIAgents)
[NSWorkspace runningApplications]
除了手动检查每个应用程序的 plist 是否有 UIAgent 键之外,有没有办法过滤由提供的应用程序列表以隐藏所有守护程序等?如果应用程序没有显示在 Dock 中,我对此不感兴趣。
macos - NSWorkSpace SetIcon not Refreshing
I'm using NSWorkSpace setIcon:forFile:options:
on a folder.
However, while the API returns success(true) every time the api is utilized, sometimes the Icon is not updated on the folder.
I've noticed creating a new file inside of the folder will trigger the icon to reappear, which leads me to believe that Finder needs to refresh the folder.
Is there a way to determine when the Icon has actually been set, and the folder needs to be refresh? And is there a way to refresh the folder without creating & deleting a file quickly?
objective-c - 使用 NSWorkspace 在浏览器中打开多个 URL
在我的应用程序中,我想在网络浏览器中打开多个 URL。
我这样做是这样的:
Safari 现在一次只打开六个 URL,当我使用时,NSWorkspaceLaunchWithErrorPresentation
我收到以下错误消息:
您无法打开应用程序“Safari”,因为它没有响应。
现在,当我将捆绑标识符设置com.google.Chrome
为更糟糕时,只打开了 4 个选项卡。Firefox ( org.mozilla.firefox
) 也会打开 6 个选项卡。
cocoa - NSWorkspace 在启动邮件应用程序时抛出错误
我尝试了下面的代码,它对我来说工作正常。也能够启动邮件应用程序。
但它在控制台上向我抛出了以下错误消息,它实际上意味着什么。如何解决以下问题。