Pour savoir si une application est lancée ou pas, on peut utiliser les services fournis par la classe NSWorkspace
, et notamment sa méthode launchedApplications
:
- (BOOL) isAppLaunched: (NSString *) appIdentifier { NSArray *apps = [[NSWorkspace sharedWorkspace] launchedApplications]; for (NSDictionary *appInfo in apps) { NSString *appId = [appInfo objectForKey: @"NSApplicationBundleIdentifier"]; if ([appId isEqualTo: appIdentifier]) { return YES; } } return NO; } if ( [self isAppLaunched: @"com.apple.iCal"] ) { NSLog(@"iCal est lancé !"); } |
On peut aussi tester le nom de l’application (iCal, iTunes, …) en remplaçant
NSApplicationBundleIdentifier
parNSApplicationName
.