远程文件的“打开方式”菜单

时间:2010-11-15 15:52:59

标签: cocoa macos launching-application

我在获取与远程文件关联的应用程序时遇到麻烦,如何使用URL:“http://servername/folder/file.png”。

我使用的代码是:

...
NSURL *url = [NSURL fileURLWithPath:@"http://servername/folder/file.png"];
NSArray *apps = (NSArray *)LSCopyApplicationURLsForURL((CFURLRef) url,kLSRolesAll);
...

我也尝试使用URLWithString:但结果是一样的。 对此有什么正确的解决方法?

约书亚重播后编辑:

对不起可能是不好的编辑。问题是LSCopyApplicationURLsForURL调用返回nil。

1 个答案:

答案 0 :(得分:0)

首先,-fileURLWithPath:需要一个类似@"/Users/me/Desktop/MyFile.png"的文件系统路径。

其次,你没有说出“相同”结果是什么以及它们有什么问题,所以很难告诉你问题是什么。

文档说这个:

  

如果项目URL的方案是文件   (指定文件或   目录),选择合适   应用程序是基于   指定项目的文件扩展名,   文件类型和创建者签名,   以及由...指定的角色   inRolesMask参数;否则,它   基于URL方案(例如   http,ftp或mailto)。

那么你得到了什么,你期望得到什么?