2011-02-24 61 views
7

如果2其他应用程序寄存器相同的URL方案的iOS如何处理呢?iOS如何处理URL方案重复?

+0

@Manni请参阅:http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/StandardBehaviors/StandardBehaviors.html%23//apple_ref/doc/uid/TP40007072-CH4- SW26 – Eonil 2011-02-25 04:41:34

回答

2

它将提出一个UIActionSheet视图允许用户选择启动哪个应用(很好的例子是处理.doc文件的应用程序)。这就是用来指定图标 - 在动作片按钮时,它显示给用户

+2

我有2个应用程序具有相同的URL方案和相同的URL标识上5.0的iPod touch试了一下,不给我UIActionSheet和刚推出来,我第一次安装了一个。还有什么影响行为的吗? – hago 2012-02-15 08:38:00

+2

@尼克我不认为这是真的。 – pre 2012-10-22 13:56:21

+0

不可以。您正在谈论文件类型。 OP在谈论URL方案。没有定义哪个应用程序启动。我所知道的。 – 2017-05-12 12:39:13

9

iOS Documentation写着:

注:如果有多个第三方应用注册处理相同的URL方案,目前还没有确定哪个应用将被授予该方案的过程。如果有一个URL方案登记的两个应用程序

OSS的行为是不确定的,因此,你应该尝试定义一个处理程序的特定于您的应用程序,以避免这种情况(例如的替代awesomeMapsApp://maps://)。

1

以下是我已经测试:

的iOS 5:第一次安装的应用程序将被选择。如果你删除第一个安装的应用程序,那么其他人将不会午餐,除非你再次安装。

的iOS 6:最新的已安装的应用将被选择。如果您删除最新安装的应用程序,则会选择先前安装的应用程序。

+0

iOS 7的任何更新?我做了一些搜索,并认为行为仍未定义:/ – Hlung 2014-03-05 06:51:00

1

其实它可能是真的有问题。例如,直到” 2016年3月,一个应用程序称为Grabb处理PayPal方案,因此如果您的应用程序试图打开PayPal(与呼叫中的所有安全性的随机数等),它启动Grabb相反,你可以做什么了。即使在iOS版9添加了openURL alertView,它仍然是一个很大的安全问题。