zek*_*kel 2 macos cocoa objective-c
我找不到一种方便的方法来创建一个别名,所以我选择了一个符号链接.我担心这可能不够好.也许这个图标没有显示在某些版本的OS X或类似的东西上.
[[NSFileManager defaultManager] createSymbolicLinkAtPath:aliasPath withDestinationPath:destPath error:nil];
Run Code Online (Sandbox Code Playgroud)
这种事情我能做的最好吗? http://www.danandcheryl.com/2009/08/how-create-alias-programmatically
Bar*_*ark 11
答案取决于您使用的是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
}
}
Run Code Online (Sandbox Code Playgroud)
正如Peter Hosey指出的那样,使用NSURLAPI 编写的书签数据与AliasManager例程不兼容.如果必须支持OS X <10.6,则必须直接使用Carbon AliasManager API,或者使用Objective-C包装器之一.我喜欢Wolf Renstch的分支BDAlias,可以在这里找到.
| 归档时间: |
|
| 查看次数: |
3452 次 |
| 最近记录: |