【问题标题】:How to find out if an instance of my .app is already running or not?如何确定我的 .app 实例是否已在运行?
【发布时间】:2012-12-07 08:47:46
【问题描述】:

我的应用程序正在安装在应用程序文件夹中。但我可以复制这个 .app 文件并将其粘贴到我的桌面上。当我尝试在我的桌面上运行这个 .app 文件时,我的系统上正在运行两个实例。如何防止这种情况发生?

【问题讨论】:

    标签: macos cocoa multiple-instances .app


    【解决方案1】:

    有很多方法,

    我想到的第一个方法是查看runningApplications 中的NSWorkspace。这将返回一个 NSArray,其中包含每个启动的应用程序的字典。您可以遍历数组以查看您要查找的应用程序是否已在运行。

    NSMutableArray *applications=[NSMutableArray new];    
    [applications addObjectsFromArray:[[NSWorkspace new] runningApplications]];
    NSLog(@"--> %@",applications);
    

    【讨论】:

    • 谢谢 :) 即使这段代码也有效 - if ([[NSRunningApplication runningApplicationsWithBundleIdentifier:[[NSBundle mainBundle] bundleIdentifier]] count] > 1)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    相关资源
    最近更新 更多