有谁知道这是什么意思:
objc://
在这个 javascript 示例代码行中:
var invokeString = "objc://planner/openPDF?" + encodeURIComponent(fileName);
2 回答
在这种情况下objc://
是自定义方案,如 http。除其他外,它可用于打开在 Mac/iOS 上为此协议注册的应用程序(我不确定 Windows 是否支持此功能)。
假设我的 ios-app“Planner”注册为处理 objc://,那么当在浏览器中访问此 URL 时,该应用程序将在我的 iPhone 上打开“Planner”应用程序,并以相同的方式将 URL 传递给应用程序http:// /www.google.com打开您的 Safari(或您的标准浏览器)应用程序并通过 google.com。
另一个例子是 Apple 使用itmss://
指向他们的 iTunes 音乐商店的链接。单击其中一个链接将在 iTines 中打开音乐商店。
这是一篇关于在 iOS 上注册方案的文章。以及关于URI 方案的 wiki
更新
正如 Sheikh Heera 评论的那样,它也可以用作在 Objective-c 应用程序 (iOS/Mac) 中的 UIWebView(运行 HTML/JS 页面)和本机应用程序之间进行通信的一种方式。
我用谷歌搜索了它,发现Calling Objective-C Methods From JavaScript,它说你可以通过调用带有自定义协议的 URL 来调用 Objective-C 方法,比如
document.location="mycustomprotocolname:functionName?param1=value1¶m2=value2..."
所以objc://
看起来像一个自定义协议在这里调用一个 Objective-C 方法。