How to (programmatic) find the name of the executable in a bundle:

       //l_AppBundleDir is a string that holds the path of to the Bundle
    NSBundle *l_Bundle = [NSBundle bundleWithPath:l_AppBundleDir];
    NSString *l_Executable = [l_Bundle executablePath];

    if(l_Bundle == nil) {
        //Bundle does not exist. Print error message and bailout
        return;
    }

    NSLog(@”Executable file exists at %@\n”,l_Executable);

Another interesting NSBundle method -infoDictionary
returns a dictionary from the bundle’s Info.plist file. It returns a empty dictionary if no plist file is found.