10

如果其他 2 个应用程序注册了相同的 url 方案,iOS 如何处理这个?

4

4 回答 4

13

iOS 文档中写道:

注意:如果多个第三方应用程序注册处理相同的 URL 方案,目前没有确定哪个应用程序将获得该方案的过程。

如果有两个应用程序注册了一个 URL 方案,则操作系统的行为是不确定的,因此您应该尝试定义一个特定于您的应用程序的处理程序以避免这种情况(例如awesomeMapsApp://,而不是maps://)。

于 2012-10-07T19:45:28.433 回答
2

实际上它可能真的有问题。例如,直到 2016 年 3 月,一个名为Grabb处理PayPal方案的应用程序因此如果您的应用程序尝试打开PayPal(在调用中包含所有安全随机数等),它会启动Grabb,而您对此无能为力。即使openURL alertView在 iOS 9 中添加,它仍然是一个很大的安全问题。

于 2016-03-01T03:22:26.303 回答
1

它将呈现一个 UIActionSheet 视图,允许用户选择要启动的应用程序(很好的例子是处理 .doc 文件的应用程序)。这就是使用您指定的图标的地方 - 当它显示给用户时在操作表按钮上

于 2011-03-30T18:59:52.837 回答
1

这是我测试过的:

iOS 5:将选择第一个安装的应用程序。如果您删除第一个安装的应用程序,那么除非您再次安装,否则其他应用程序将不会启动。

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

于 2013-01-16T07:14:06.743 回答