答案取决于您是否使用OS X 10.5或10.6。在10.6中,旧的AliasManger已被替换为NSURL
的书签数据。要创建一个别名,给予NSURL
实例:
NSURL *url = [NSURL fileURLWithPath:pathToAliasTarget];
NSError *err = nil;
NSData *bookmarkData = [url bookmarkDataWithOptions: NSURLBookmarkCreationSuitableForBookmarkFile includingResourceValuesForKeys:nil relativeToURL:nil error:&err];
if(bookmarkData == nil) {
//handle NSError in err
} else {
if(![NSURL writeBookmarkData:bookmarkData toURL:aliasFileURL options:NSURLBookmarkCreationSuitableForBookmarkFile error:&err]) {
//handle NSError in err
}
}
正如Peter Hosey指出,使用NSURL
API编写的书签数据与AliasManager程序兼容。如果您必须支持OS X < 10.6,则必须直接使用Carbon AliasManager API,或者使用其中一个Objective-C包装器。我喜欢Wolf Renstch的BDAlias
分支,可用here。
看起来不错。不幸的是,我不能将其用于高于我的许可原因,但幸运的是,符号链接似乎足以满足我的情况。 – zekel 2010-02-05 15:16:54
链接中断 – rraallvv 2014-09-13 22:16:10