无法处理自定义URL方案时提供故障转移URL

时间:2012-04-08 15:04:18

标签: iphone objective-c ios app-store custom-url

我有两个我已经构建的iPhone应用程序,它们有自己的自定义URL并且位于应用程序商店中。我们称之为App A和App B.

App A的界面是一个UIWebView,它从我运行的远程服务器获取其标记。我想在app A中实现的行为是这样的:

  • 如果使用App B的自定义URL生成链接,并且在设备上安装了App B,请打开App B.通过选中UIApplication canOpenURL:可以轻松完成此操作,如果它返回{{ 1}},调用YES

  • 如果使用App B的自定义URL生成链接,并且设备上未安装App B,请转到App B的应用商店页面。

以下是我计划处理第二个问题的方法:

  • 在自定义网址中包含一个网址参数,其中包含指向应用商店B的应用商店页面的链接。如果UIApplication openURL:为整个网址返回canOpenURL:,请打开该参数指定的网址。

那应该有用。但它感觉有点hacky,因为这意味着App A必须知道如何解析App B的自定义URL以检索备用链接。这似乎是不太理想的封装。当NO返回canOpenURL:时,我是否应该使用其他约定来提供故障转移URL?

1 个答案:

答案 0 :(得分:1)

您是否始终在AppA中打开AppB的这些URL?

如果是,那么为什么需要在URL中为AppB的App Store页面添加链接?

为什么AppA不能“知道”AppB的App Store URL,如果“canOpenURL”为自定义URL方案返回NO,那么它只会将用户发送到该App Store页面?

这似乎是一个更清洁的解决方案。

PS:我知道这是一个老问题,但问题有几个赞成,并没有得到回答,所以也许这会对某人有所帮助......