2015-11-05 229 views
0

我想制作一个应用程序,可以关闭您告诉它的任何应用程序。以编程方式关闭Mac应用程序

我已经试过NSApp表示终止:无 但它关闭我的应用程序,而不是一个我希望它关闭

如何使用Objective C的关闭我的Mac上的任何应用程序。

+1

这个程序还有什么其他功能,它将如何使用?我认为你会更好地使用AppleScript或Automator(对于这个特定的任务)。 – Arc676

回答

3

使用runningApplications财产上NSWorkspace

NSArray<NSRunningApplication *> *runningApplications = [NSWorkspace sharedWorkspace].runningApplications; 

NSRunningApplication * app = runningApplications[n]; // find the app you want to kill 
[app terminate]; 
// or: 
[app forceTerminate]; 

文档:NSWorkspaceNSRunningApplication

0

你可以做,使用NSRunningApplication和应用

NSArray *applications = [NSRunningApplication runningApplicationsWithBundleIdentifier:@"com.apple.mail"]; 
if (applications.count) { 
    [(NSRunningApplication *)applications[0] terminate]; 
} 
0

下面的代码,我的包标识符用于杀死我的(守护进程)应用程序。

- (BOOL) terminateService:(NSString *) bundleId{ 
    BOOL res =NO; 
    for (NSRunningApplication *app in [[NSWorkspace sharedWorkspace] runningApplications]){ 
     if ([bundleId isEqualToString:[app bundleIdentifier]]){ 
      res = [app forceTerminate]; 
     } 
    } 
    return res; 
}