1

如何在 Swift 中获取另一个应用程序的 NSDockTile 对象?

我的想法是我可以获得一组 NSRunningApplications 并从那里访问 NSDockTile,但我只能从 NSApplication 获得 NSDockTile。所以我猜另一个更好的问题是,有没有办法将 NSRunningApplication 转换为 NSApplication 或从另一个应用程序的 BundleIdentifier 或其他东西创建一个 NSApplication 对象?

由于我是 Swift 和 Cocoa 应用程序的新手,因此我提前为任何愚蠢行为道歉。

4

1 回答 1

3

我怀疑有任何(认可的)方法可以做到这一点。其他应用程序的 Dock 磁贴属于这些应用程序,考虑到明显的滥用可能性,我无法想象 Apple 会提供一种方法来提供从另一个应用程序访问它的方法的原因。

此外,NSApplicationNSRunningApplication完全不同的对象。两者之间没有关系,尝试将一个引用投射到另一个类肯定会以心痛告终。

NSApplication是,出于所有意图和目的,您的应用程序。它是正在执行的应用程序的基础,包含运行和控制应用程序、调度事件、建立模式对话框等的方法。

NSRunningApplication是一个轻量级的对象,它提供了一些关于与你的应用程序一起运行的另一个应用程序的有用信息。但它不以任何方式直接连接,也不能控制(除非提供)其他应用程序。

于 2018-04-07T20:03:41.937 回答