macOS检查应用程序是否按路径运行

时间:2018-12-28 11:06:09

标签: objective-c macos nsworkspace

我有一个应用程序的路径字符串。例如/Users/username/Applications/MyApp.app 我所需要做的就是检查它是否正在运行。

我试图将正在运行的应用程序的捆绑包路径与我拥有的路径进行比较:

-(BOOL)isApplicationAtPathRunning:(NSString *)applicationPath {
    for (NSRunningApplication * application in NSWorkspace.sharedWorkspace.runningApplications) {
        if ([application.bundleURL.absoluteString isEqualToString:applicationPath]) {
            return YES;
        }
    }

    return NO;
}

但是,如果将应用程序移至正在运行的应用程序的另一个文件夹application.bundleURL,将是旧的文件夹。 请提出建议,谢谢!

1 个答案:

答案 0 :(得分:2)

通过捆绑包标识符更好地检查应用程序

Intent intent = new Intent(this, bActivity.class); 
startActivity (intent);