通过使用 NSWorkspace 的 runningApplications,可以获得 Mac OS 上正在运行的应用程序列表作为 NSRunningApplication 对象,并从中获取附加信息,例如前台的应用程序。
可以使用它们的名称 (localizedName) 来识别正在运行的应用程序,但我确信这可能会被流氓应用程序欺骗。bundleIdentifier 之类的其他东西似乎更好,但我相信这也可能被欺骗。
我想几乎所有的元数据都可能被公共应用商店之外的应用程序欺骗,但是对于从应用程序商店获得的任何应用程序,像 bundleIdentifier 这样的东西应该是识别应用程序的安全方法,对吧?
如果我们包含某人从 Internet 下载的任意应用程序,是否有更好的方法来识别应用程序以过滤掉流氓应用程序?我意识到可能没有没有缺点的解决方案,但要尽最大努力尝试。