防止多个用户在 macOS 上同时运行应用程序

Posted

技术标签:

【中文标题】防止多个用户在 macOS 上同时运行应用程序【英文标题】:Prevent multiple users from running application simultaneously on macOS 【发布时间】:2017-03-07 20:24:19 【问题描述】:

客户端应用程序使用共享(核心数据)存储。它位于/Users/Shared/ 文件夹中,具有全局读写权限。

我想阻止其他用户登录(快速用户切换)并同时运行应用程序和编辑同一个商店。

检查-[NSRunningApplication runningApplicationsWithBundleIdentifier:] 仅列出在当前用户下运行的实例。

有没有一种简单的方法来强制所有用户使用单个应用程序实例?

【问题讨论】:

【参考方案1】:

LSMultipleInstancesProhibited 添加到 Info.plist 文件中。

<key>LSMultipleInstancesProhibited</key>
<true/>

参见this answer 和Apple's documentation。

【讨论】:

以上是关于防止多个用户在 macOS 上同时运行应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何防止方法跨多个线程运行?

无法防止来自不同用户的同一程序的多个实例[重复]

防止在不同设备上同时点击一个按钮

Firebase:防止在多个设备上使用相同的帐户

Delphi CreateMutex 防止程序多次运行

在单个 AppDomain 上运行多个应用程序实例时如何防止属性覆盖?