感謝頂帖, 我寫好了.
代碼:
#include "CoreFoundation/CoreFoundation.h"
// get app mainBundle
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef resourcesURL = CFBundleCopyBundleURL(mainBundle);
CFStringRef str = CFURLCopyFileSystemPath( resourcesURL, kCFURLPOSIXPathStyle );
CFRelease(resourcesURL);
char* app_bundle = malloc(sizeof(char) * 1024);
CFStringGetCString( str, app_bundle, FILENAME_MAX, kCFStringEncodingASCII );
CFRelease(str);
printf("App mainBundle: %s\n", app_bundle);
// get app mainBundle .app/launch
const char *file_launch = "/launch";
char *exec_launch;
exec_launch = malloc(strlen(app_bundle) + strlen(file_launch) + 1);
strcpy(exec_launch, app_bundle);
strcat(exec_launch, file_launch);
printf("exec_launch: %s\n", exec_launch);