我将如何使用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/

10-10 20:38