我正在试图找出将打开给定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,但这与知道如何打开不是一回事.