检查应用程序是否已在运行

Mob*_*obX 4 macos cocoa

我正在开发一个cocoa中的应用程序,需要检查该应用程序是否已经在启动时运行.如果已经运行,那么我需要退出新实例..有什么办法可以做到这一点.寻找一个完美的解决方案

Jon*_*etz 5

听起来你说你想让你的cocoa应用程序的多个实例同时运行.通常,cocoa应用程序不允许多个实例同时运行,因此通常您不需要执行此检查.是否存在某些特定情况,您发现可可应用程序同时运行?

一般来说,一个可可的方法来解决这个问题,看一下NSWorkspace中的launchApplications.这将返回一个NSArray,其中包含每个已启动应用程序的字典.您可以遍历数组以查看您要查找的应用程序是否已在运行.我建议您使用值为NSApplicationBundleIdentifier的值,该值将具有"com.mycompany.myapp"之类的值,而不是查找名称.如果您需要查找应用程序的软件包标识符,可以查看应用程序包中的info.plist文件.