iOS如何处理URL方案重复?
如果其他2个app注册相同的url方案,iOS如何处理这个?
它将显示一个UIActionSheet视图,允许用户选择要启动的应用程序(例如,处理.doc文件的应用程序)。 这就是您指定的图标所在的位置 – 在向用户显示时在操作表按钮上
iOS文档内容如下:
注意:如果多个第三方应用程序注册以处理相同的URL方案,则目前没有确定将为该方案提供哪个应用程序的过程。
如果为URL方案注册了两个应用程序,则操作系统行为是未定义的,因此您应该尝试定义特定于您的应用程序的处理程序以避免这种情况(例如awesomeMapsApp://
而不是maps://
)。
实际上它可能真的有问题。 例如,直到’2016年3月,一个名为Grabb
的应用程序处理PayPal
方案,这样如果你的应用程序试图打开PayPal
(在调用中包含所有安全现象等),它就会启动Grabb
,而你却无能为力。 即使在iOS 9中添加了openURL alertView
,它仍然是一个很大的安全问题。
这是我测试过的:
iOS 5:将选择第一个安装的应用程序。 如果删除首次安装的应用程序,则除非再次安装,否则其他应用程序将无法启动。
iOS 6:将选择最新安装的应用程序。 如果您删除最新安装的应用程序,则将选择之前安装的应用程序。