【问题标题】:Having problems opening a custom enterprise app from with another custom app从另一个自定义应用程序打开自定义企业应用程序时遇到问题
【发布时间】:2016-12-15 02:09:05
【问题描述】:

我有几个自定义应用程序(masterapp 和 app2),它们都属于同一个自定义 URL 方案。当我单击 masterapp 上的按钮时,我希望它打开 app2。

我注意到一个奇怪的模式,如果 app2 在主应用程序之前安装,主应用程序只会打开 app2。

如果我安装了masterapp,然后安装app2,然后单击按钮打开app2,它什么也不做。

谁能解释这种行为以及发生了什么?我已经玩了几天的 URL 方案,但无法让它正常工作。

【问题讨论】:

  • 您是说两个 iOS 应用都注册了相同的自定义 URL 方案吗?你不能那样做。每个应用都必须有一个独特的方案。
  • 好的,我想您可能已经为我指明了正确的方向。在 URL 类型下的两个应用程序中,我有相同的设置,因为我认为它们必须通过这样做都属于同一个方案?我只需要在主应用程序中设置 URL 类型吗? app2 中什么都没有?

标签: ios url-scheme


【解决方案1】:

你不能这样做。

URI 方案对于每个应用程序都必须是唯一的。实际上有一些第三方应用程序试图劫持流行应用程序的私有 URI 方案的实例,这也是 Apple 在 iOS 9 中引入通用链接的部分原因。

如果您从逻辑上考虑清楚,那么您遇到的行为非常合理:如果安装了具有相同 URI 方案的两个应用程序,那么您首先安装的应用程序将在触发该 URI 方案时做出响应。

【讨论】:

  • 谢谢亚历克斯。我认为您的回答帮助我指出了正确的方向。和 rmaddy 一样。我只需要在主应用程序中设置 URL 类型/LSApplicationQueriesSchemes 而在 app2 中什么都不需要吗?
  • 目标应用程序需要有一个方案,以便您可以定位它。在这种情况下,这将是 app2。源应用程序(此处为主应用程序)是否具有方案与这种特定情况无关。
  • 我现在开始工作了。我从我的主应用程序中删除了 URL 类型,将 LSApplicationQueriesSchemes 留在了主应用程序的 Plist 中,然后在 app2 中设置了一个 URL 类型。感谢您的指导!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-12
  • 1970-01-01
  • 2012-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多