Search code examples
macoscocoamultiple-instances.app

How to find out if an instance of my .app is already running or not?


My app is getting installed in the Application folder. But I can copy this .app file and paste it on my desktop. When I try to run this .app file on my desktop, two instances are running on my system. How do I prevent this?


Solution

  • There could by many ways,

    The first way that hit my mind is to look at runningApplications in NSWorkspace. This returns an NSArray containing a dictionary for each launched application. You can loop through the array to see if the app you are looking for is already running.

    NSMutableArray *applications=[NSMutableArray new];    
    [applications addObjectsFromArray:[[NSWorkspace new] runningApplications]];
    NSLog(@"--> %@",applications);