objective-c - NSRunningApplication - 终止

标签 objective-c cocoa xcode terminate

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

[[NSWorkspace sharedWorkspace] launchApplication:appName];

但我想关闭一个。当我调试 NSRunningApp 的代码时出现错误,如下所示:

NSRunningApplication *selectedApp = appName;
[selectedApp terminate];

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

最佳答案

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

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)];

关于objective-c - NSRunningApplication - 终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1481278/

相关文章:

ios - Xcode Storyboard屏幕类型影响模拟器内的布局

ios - 如何从我的应用程序委托(delegate)启动一个 NSTimer,它调用我在 Viewcontroller.m 中的方法

iphone - 在提高性能的获取请求模板下发生了什么?

objective-c - 如何对 NSComboBox 内容进行排序

cocoa - 如何选择屏幕区域并将其另存为 CGimage 或 CIImage?

swift - 在 Swift 中以编程方式更改窗口的背景颜色

ios - UIImagePickerController 崩溃应用程序 | swift 3,Xcode8

我的 View Controller 中的 iOS 7 视差效果

iphone - 使用 Storyboard 将 Window rootViewController 替换为另一个 View Controller

objective-c - iPhone 4.0 与模拟器中显示的标签高度差异