Frage

Ich habe eine Mac-Anwendung, dass I muss Build gegen den Mac OS 10.4 SDK aus verschiedenen Gründen außerhalb meiner Kontrolle. Da meine Anwendung mindestens OS Version 10.5 ist. (Ich weiß, ich weiß ... aber ich kann es nicht geben noch mehr Details als die oben zu begründen, warum dies der Fall ist).

Im Rahmen des Mac OS 10.5 SDK ist eine API, FSMatchAliasBulk , für die ich kein gutes Äquivalent im 10.4 SDK finden. Zu wissen, dass ich auf Mac OS ausgeführt werden soll> = 10,5, wie ich Zugriff auf die FSMatchAliasBulk zur Laufzeit bekommen?

War es hilfreich?

Lösung

überprüfen Sie zuerst heraus „Wie Cross-Development Works“ in Ihrer Xcode Hilfe von „Dokumentation für Entwickler“ aus dem Xcode-Hilfe-Menü auswählen. In der Dokumentation Fenster „Wie Cross-Development Works“ und Return. Dort finden Sie weitere Informationen.

Und hier ist, was ich denke, was Sie tun müssen: die Coreservices Rahmen laden und dann für diese Funktion die Funktionszeiger, wenn Sie wissen, dass Sie auf Mac OS X 10.5 (Besuche die Gestalt Funktionalität laufen lassen, um zu bestimmen das).

Hier ist ein Beispiel, das nicht getestet, aber sollten Sie in die richtige Richtung führen:

CFBundleRef systemBundle = NULL;

short result = LoadFrameworkBundle(CFSTR("CoreServices.framework"), &systemBundle);

if (result == 0) {
 typedef OSStatus (FSMatchAliasBulkProcPtr) (const FSRef*, unsigned long, AliasHandle, short*, FSRef*, Boolean*, FSAliasFilterProcPtr, void*);

 FSMatchAliasBulkProcPtr myFSMatchAliasBulk = (FSMatchAliasBulkProcPtr) CFBundleGetFunctionPointerForName(systemBundle, CFSTR("FSMatchAliasBulk"));

 if (myFSMatchAliasBulk) {
 // call FSMatchAliasBulk
    OSStatus status = myFSMatchAliasBulk(....);
 }
 }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top