我可以以编程方式告诉哪个应用程序将打开给定的URL?

时间:2013-03-22 00:46:00

标签: ios objective-c url-scheme uiapplication

我正在尝试确定将在哪个iOS应用程序中打开给定的URL。

我知道“http:// ...”网址将在Safari中打开,例如,“twitter:// ...”网址将在Twitter应用中打开,但有没有办法获取那个信息是以编程方式?

我正在寻找一种方法,我可以使用URL(或只是方案/协议)来查找将在{{1}时调用的应用程序的包ID(甚至只是本地化名称)调用。

是否存在以下内容?

-openURL

1 个答案:

答案 0 :(得分:2)

在Mac上,启动服务框架中有一个名为LSGetApplicationForURL的API函数,可以为您执行此操作。

虽然iOS中可能存在相同的API函数Launch Services is private API

所以不,你不能在iOS上这样做。

a boolean method on UIApplication that will tell if a URL can be opened,但这与知道 的打开方式不同。