在OSX 10.8.5和10.9下编译同一个项目,我发现runningApplications与下面提到的功能不同:
-(void)killProcessesNamed:(NSString*)appName
{
for ( id app in [[NSWorkspace sharedWorkspace] runningApplications] )
{
if ( [appName isEqualToString:[[app executableURL] lastPathComponent]] )
{
[app terminate];
}
}
}
看看NSRunningApplication.h我发现了这个:
- (NSArray *)runningApplications NS_AVAILABLE_MAC(10_6);
我不知道它是否真的被弃用了,但是我收到了关于NSRunningApplication.h和NSTask.h中的多个模糊方法的警告:
- (BOOL)terminate; // in NSRunningApplication.h
- (void)terminate; // in NSTask.h
因此,如果我在forceTerminate:
中更改终止,则警告消失//[app terminate];
[app forceTerminate];
问题在于小牛队不想杀死指示的进程/应用程序。 更清楚的是,只有当项目处于ARC下时才会出现上述警告。 感谢