Если вы используете 10.6, он также предоставляет новые методы в NSURL для чтения псевдонимов: установите флажок NSURL bookmarkDataWithContentsOfURL: , чтобы их разрешить, вы можете использовать: NSURL URLByResolvingBookmarkData: options :lativeToURL: bookmarkDataIsStale: ошибка:
Для версий до 10.6 Apple также имеет хороший пример кода "Разрешение псевдонимов" в Документах Какао для разрешения псевдонима из пути NSString
:
NSString *path = <#Get a suitable path#>;
NSString *resolvedPath = nil;
CFURLRef url = CFURLCreateWithFileSystemPath
(kCFAllocatorDefault, (CFStringRef)path, kCFURLPOSIXPathStyle, NO);
if (url != NULL)
{
FSRef fsRef;
if (CFURLGetFSRef(url, &fsRef))
{
Boolean targetIsFolder, wasAliased;
OSErr err = FSResolveAliasFile (&fsRef, true, &targetIsFolder, &wasAliased);
if ((err == noErr) && wasAliased)
{
CFURLRef resolvedUrl = CFURLCreateFromFSRef(kCFAllocatorDefault, &fsRef);
if (resolvedUrl != NULL)
{
resolvedPath = (NSString*)
CFURLCopyFileSystemPath(resolvedUrl, kCFURLPOSIXPathStyle);
CFRelease(resolvedUrl);
}
}
}
CFRelease(url);
}
if (resolvedPath == nil)
{
resolvedPath = [[NSString alloc] initWithString:path];
}
Вы хотите заняться бизнесом, чтобы загружать данные вручную и интерпретировать это, я не думаю, что формат Alias когда-либо был задокументирован.