如何防止我的 macOS 应用程序同时运行多个实例?

Gab*_*beV 4 macos user-interface xcode xcode9

我有一个应用程序,允许用户使用启动器应用程序通过首选项启用“登录时打开”(请参阅​​ https://en.atjason.com/Cocoa/SwiftCocoa_Auto%20Launch%20at%20Login.html)。但是,当我选中该框以启用它时,启动器应用程序将打开我的应用程序的另一个实例。

Gab*_*beV 8

我找到了一个可用于此目的的捆绑密钥:LSMultipleInstancesProhibited。当设置为 时YES,无法打开另一个实例。潜在的缺点是它还禁止其他登录用户同时打开该应用程序。

更多详细信息请参见: https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html