,先看看「如何交叉開發工程」,在從Xcode的幫助菜單中選擇「開發者文檔」您的Xcode幫助。在文檔窗口中,輸入「How Cross-Works Works」並返回。在那裏你會看到更多的信息。
下面是我認爲您需要做的:加載CoreServices框架,然後獲取該函數的函數指針,如果您知道您在Mac OS X 10.5上運行(請檢查完整性功能以確定)。
這裏是一個未經測試的樣本,而應該引領你在正確的方向:
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(....);
}
}
完美,謝謝! – fbrereto 2009-11-11 21:35:31