The best way? I have no idea… This is what I do, and it works.

I store the path to my helper app in 'path', and do the following when my app 
is about to quit:


//---------------------------------------------------------------------
- (void)applicationWillTerminate:(NSNotification *)aNotification
//---------------------------------------------------------------------
{
        [super applicationWillTerminate:aNotification];
        
        AppleEvent tAppleEvent, tReply;
        AEBuildError tAEBuildError;
        ProcessSerialNumber currentProcessPSN;
        NSNumber *psnHi = nil;
        NSNumber *psnLo = nil;
        
        NSArray * runningApps = [[NSWorkspace sharedWorkspace] 
launchedApplications];
                
        for(NSDictionary * appInfo in runningApps){
                if( [path isEqualToString:[appInfo 
objectForKey:@"NSApplicationPath"]] ){
                        psnHi = [appInfo 
objectForKey:@"NSApplicationProcessSerialNumberHigh"];
                        psnLo = [appInfo 
objectForKey:@"NSApplicationProcessSerialNumberLow"];
                        break;
                }
        }
        
        if(psnHi == nil) return;
        
        currentProcessPSN.highLongOfPSN = [psnHi unsignedIntegerValue];
        currentProcessPSN.lowLongOfPSN = [psnLo unsignedIntegerValue];
        
        OSStatus result = AEBuildAppleEvent( kCoreEventClass, 
kAEQuitApplication, typeProcessSerialNumber, &currentProcessPSN,
                                                                                
sizeof(ProcessSerialNumber), kAutoGenerateReturnID, kAnyTransactionID, 
&tAppleEvent, &tAEBuildError,"");
        result = AESend( &tAppleEvent, &tReply, kAEAlwaysInteract+kAENoReply, 
kAENormalPriority, kNoTimeOut, nil, nil );
}


--Rob


On Jul 12, 2012, at 12:33 PM, Jerry Krinock <[email protected]> wrote:

> What is the best way to make a helper app quit when the associated main app 
> quits (or crashes)?  No harm will be done if it keeps running for a minute or 
> so.
> 
> Thanks,
> 
> Jerry Krinock


_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to