本文介绍了NSRunningApplication - 终止的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将如何使用 NSRunningApplication?我有一些与启动应用程序相反的东西:

How would I use NSRunningApplication? I have something opposite of that which is launching an app:

[[NSWorkspace sharedWorkspace] launchApplication:appName];

但我想关闭一个.当我调试 NSRunningApp 的代码时出现错误:

but I want to close one. I get an error when I debug the code for NSRunningApp which is this:

NSRunningApplication *selectedApp = appName;
[selectedApp terminate];

有什么问题吗?如果有,请指出并如何解决.

Is there something wrong? if there is please point it out and how to fix it.

推荐答案

您为变量 selectedApp 分配一个 NSString.字符串没有 - (void)terminate 方法,因此它失败了.您必须获得一个指向应用程序的 NSRunningApplication 实例.

You assign the variable selectedApp a NSString. Strings don't have the - (void)terminate method and therefore it fails. You have to get a NSRunningApplication instance pointing to the application.

NSWorkspace *sharedWorkspace = [NSWorkspace sharedWorkspace];
NSString *appPath = [sharedWorkspace fullPathForApplication:appName];
NSString *identifier = [[NSBundle bundleWithPath:appPath] bundleIdentifier];
NSArray *selectedApps =
       [NSRunningApplication runningApplicationsWithBundleIdentifier:identifier];
// quit all
[selectedApps makeObjectsPerformSelector:@selector(terminate)];

这篇关于NSRunningApplication - 终止的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 01:16