objective-c – 是否可以在Cocoa中确定是否从别名中打开了文件?

objective-c – 是否可以在Cocoa中确定是否从别名中打开了文件?,第1张

概述我想到的程序需要与以特定扩展名结尾的所有文件(例如“.abc”)相关联,因此当用户双击某个“file.abc”时它将打开.当用户双击此类文件的别名时,是否可以在 Cocoa中确定? 应用程序委托将接收应用程序:openFile:以这种方式启动时.如果这导致你启动,应用程序:openFile:将介于applicationWillFinishLaunching:和applicationDidFinis 我想到的程序需要与以特定扩展名结尾的所有文件(例如“.abc”)相关联,因此当用户双击某个“file.abc”时它将打开.当用户双击此类文件的别名时,是否可以在 Cocoa中确定?解决方法 应用程序委托将接收应用程序:openfile:以这种方式启动时.如果这导致你启动,应用程序:openfile:将介于applicationWillFinishLaunching:和applicationDIDFinishLaunching:之间.您可能会收到应用程序:openfile:在其他时间,因为您可能已经在用户双击文档时启动了.

编辑:别名现在称为“书签”(自10.6起).您使用NSURL来阅读它们.有关详细信息,请参阅File System Programming Guide,但这是一个简短的示例:

NSURL *aliasURL = [NSURL fileURLWithPath:@"..."];NSData *alias = [NSURL bookmarkDataWithContentsOfURL:aliasURL error:&error];if (alias == NulL) {  NSLog(@"Failed aliasURL: %@",error);}BOol isstale;NSURL *realURL = [NSURL URLByResolvingBookmarkData:alias options:0 relativeToURL:nil bookmarkDataIsstale:&isstale error:&error];if (isstale || realURL == NulL) {  NSLog(@"Failed realURL: %@",error);}NSLog(@"realPath:%@",[realURL path]);

我不知道有任何API可以告诉你,如果给定的NSURL是别名,而不是尝试将其作为一个别名读取并查看它是否失败.

请记住,用户也可能使用符号链接创建相同的情况.

总结

以上是内存溢出为你收集整理的objective-c – 是否可以在Cocoa中确定是否从别名中打开了文件?全部内容,希望文章能够帮你解决objective-c – 是否可以在Cocoa中确定是否从别名中打开了文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1071735.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存