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

我正在试图找出将打开给定URL的iOS应用程序.

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

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

是否存在以下类似的内容?

[UIApplication handlerForURL:someUrl]; // @"com.dev.app"

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

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

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

a boolean method on UIApplication that will tell if a URL can be opened,但这与知道如何打开不是一回事.

点赞