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

发布于 2024-10-03 06:41:55 字数 461 浏览 6 评论 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。

I'm getting troubles getting the applications associated with a remote file how has a URL like: "http://servername/folder/file.png".

The code I use is:

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

I also try using URLWithString: but the result is the same.
What is the correct approach for this?

Edit after Joshua replay:

Sorry for may bad redaction. The problem is that the LSCopyApplicationURLsForURL call return nil.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独守阴晴ぅ圆缺 2024-10-10 06:41:55

首先,-fileURLWithPath: 需要像 @"/Users/me/Desktop/MyFile.png" 这样的文件系统路径。

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

文档是这样说的:

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

那么你得到了什么以及你期望得到什么?

First, -fileURLWithPath: expects a file system path like @"/Users/me/Desktop/MyFile.png".

Second, you don't say what the "same" results are and what is wrong with them, so it's difficult to tell you what the problem is.

The docs say this:

If the item URL’s scheme is file
(designating either a file or a
directory), the selection of suitable
applications is based on the
designated item’s filename extension,
file type, and creator signature,
along with the role specified by the
inRolesMask parameter; otherwise, it
is based on the URL scheme (such as
http, ftp, or mailto).

So what are you getting and what do you expect to get?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文