【问题标题】:Is there any way to be notified when an app is uninstalled from macOS using a Cocoa app?当使用 Cocoa 应用程序从 macOS 卸载应用程序时,有什么方法可以通知?
【发布时间】:2017-05-06 14:56:22
【问题描述】:

我希望我的应用在其他系统应用被卸载时做出反应(而不是当我的应用卸载时)。有没有任何预期的可可方法?如果没有,是否有可靠的(如果不是有意的)方法来做到这一点?

我确实有一个最有趣的列表来观察,因此仅限于特定其他应用程序的解决方案很好,但通用解决方案会很棒。语言也不是什么大问题。 Objective-C 和 Swift 是最简单的,但如果必须编写脚本,那也没关系。

我试图自己找出来,但myGoogle-fufailedme

【问题讨论】:

    标签: macos cocoa


    【解决方案1】:

    Mac 应用程序并不像在其他一些系统上那样真正“安装”。它们只是捆绑包,用户可以在任何地方运行。

    如果您有特定的 .app 文件名要观察,您可以设置一个 NSMetadataQuery 来观察它的变化,并在用户将其移至回收站时收到通知。

    【讨论】:

      【解决方案2】:

      您可以使用-[NSWorkspace URLForApplicationWithBundleIdentifier:]。或者 LSCopyApplicationURLsForBundleIdentifier 在具有相同捆绑 ID 的多个版本的情况下。但这将是一种类似于拉动的实现,而不是基于通知的实现。

      捆绑标识符也可以通过kMDItemCFBundleIdentifier 谓词与NSMetadataQuery 一起使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-26
        • 1970-01-01
        • 2019-06-19
        • 1970-01-01
        • 2012-03-17
        • 2011-05-21
        • 1970-01-01
        相关资源
        最近更新 更多