Ios 我可以通过编程告诉哪个应用程序将打开给定的URL吗?

Ios 我可以通过编程告诉哪个应用程序将打开给定的URL吗?,ios,objective-c,url-scheme,uiapplication,Ios,Objective C,Url Scheme,Uiapplication,我正在尝试找出给定URL将在哪个iOS应用程序中打开 我知道”http://...“URL将在Safari中打开,并且”twitter://...例如,URL将在Twitter应用程序中打开,但是有没有一种方法可以通过编程方式获取这些信息 我正在寻找一种方法,我可以使用URL(或者仅仅是方案/协议)调用该方法,以查找在调用-openURL时将调用的应用程序的捆绑包ID(甚至只是本地化名称) 是否存在如下情况 [UIApplication handlerForURL:someUrl]; // @"

我正在尝试找出给定URL将在哪个iOS应用程序中打开

我知道”http://...“URL将在Safari中打开,并且”twitter://...例如,URL将在Twitter应用程序中打开,但是有没有一种方法可以通过编程方式获取这些信息

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

是否存在如下情况

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

在Mac上,在Launch Services框架中调用了一个API函数,可以为您实现这一点

虽然iOS中可能存在相同的API函数

所以不,你不能在iOS上这么做


有,但这和知道它将如何打开不是一回事。

没有。也没有办法用特定的应用程序打开URL(例如,为了避免另一个应用程序“劫持”URL方案)。此外,文档特别提到,如果两个应用程序具有相同的URL方案,则未定义将打开哪个应用程序。