有谁知道url中的“objc://”是什么意思

时间:2012-12-11 12:56:35

标签: javascript

有谁知道这是什么意思:     objc:// 在这个javascript示例代码行中:     var invokeString = "objc://planner/openPDF?" + encodeURIComponent(fileName);

2 个答案:

答案 0 :(得分:3)

在这种情况下,objc://是一个自定义方案,如http。除此之外,它可用于在Mac / iOS上打开为此协议注册的应用程序(我不确定Windows是否支持此功能)。

假设我的ios-app“Planner”已注册处理objc://然后在浏览器中访问此URL时,应用程序将在我的iPhone上打开“Planner”应用程序并以相同方式将URL传递给应用程序http://www.google.com会打开Safari(或您标准浏览器)应用并通过google.com。

另一个例子是Apple使用itmss://链接到iTunes音乐商店。单击其中一个链接将打开iTines中的音乐商店。

这是一篇关于registering schemes on iOS的文章。关于URI schemes

的维基

<强>更新

正如Sheikh Heera评论的那样,它也可以用作在Objective-c应用程序(iOS / Mac)中的UIWebView(运行HTML / JS页面)与本机应用程序之间进行通信的方式。

答案 1 :(得分:3)

我用Google搜索并找到了Calling Objective-C Methods From JavaScript,它说你可以通过调用带有自定义协议的URL调用Objective C方法,如

document.location="mycustomprotocolname:functionName?param1=value1&param2=value2..."

所以objc://看起来像是在这里调用Objective-C方法的自定义协议。