多个应用程序具有相同的自定义 URL 应用程序 URL 标识符?

问题描述 投票:0回答:3
我在我的应用程序中使用了自定义 URL 方案从另一个应用程序(可能是我的)打开它

iphone ipad iphone-sdk-3.0 ios4
3个回答
15
投票
iOS 应用程序编程指南

,“如果多个第三方应用程序注册来处理相同的 URL 方案,则未定义选择哪个应用程序来处理该类型的 URL。”


11
投票
http://handleopenurl.com/

来避免。 长答案:

我创建了两个应用程序,FirstApp 和 SecondApp,并为这两个应用程序注册了相同的 URL

testURL


我加载了 FirstApp,URL 按预期工作,打开了应用程序。

然后我加载了 SecondApp,可怕的未定义行为开始发生。目前,在 iOS 7 下,如果两个应用程序注册了相同的自定义 URL,则会弹出一个模式询问

在“第一个应用程序名称”中打开此页面?

当您点击“打开”选项时,它会失败,并且什么也不会发生。如果您再次点击或输入该链接,则使用该 URL 安装的第一个应用程序(在我们的示例中为 FirstApp)将启动。

因此,实际上,要注册的第二个应用程序永远不会打开,并且第一个应用程序每两次 URL 调用都会失败。没有理想的行为。

更糟糕的是,我删除了这两个应用程序,然后交换了它们的安装顺序,结果并不一致。有时它是一个应用程序,然后在重新加载两个应用程序时它是另一个应用程序。这种行为确实是“未定义的”。

最佳做法是使用

http://handleopenurl.com/

查看已注册的 URL,并选择一个不会与其他应用程序冲突的 URL。您无法“窃取”另一个 URL,因为您无法确定您的应用程序会打开,而其他应用程序不会打开。


-1
投票

http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html

通过阅读本文,苹果可能会拒绝您的申请,但您仍然可以阅读苹果提供的指南。 谢谢

© www.soinside.com 2019 - 2024. All rights reserved.