La documentation Qt page « Mac Differences » fournit le code suivant pour accéder à la trajectoire du faisceau d'une application:Qt - l'accès au chemin du faisceau
CFURLRef appUrlRef = CFBundleCopyBundleURL(CFBundleGetMainBundle());
CFStringRef macPath = CFURLCopyFileSystemPath(appUrlRef, kCFURLPOSIXPathStyle);
const char *pathPtr = CFStringGetCStringPtr(macPath,CFStringGetSystemEncoding());
qDebug("Path = %s", pathPtr);
CFRelease(appUrlRef);
CFRelease(macPath);
Cependant, quel est l'avantage de ce sur quelque chose de simple, comme ce qui suit:
QDir dir = QDir(QCoreApplication::applicationDirPath());
dir.cdUp();
dir.cdUp();
return dir;
Oui, et cela sera également correct pour les bundles peu profonds sur iOS qui n'ont pas de hiérarchie de sous-répertoire Contents/MacOS. –