0

我在获取与远程文件关联的应用程序时遇到了麻烦,其 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。

4

1 回答 1

0

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

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

文档是这样说的:

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

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

于 2010-11-15T16:03:40.677 回答