2

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

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

  • 如果使用 App B 的自定义 URL 生成链接,并且在设备上安装了 App B,请打开 App B。这很容易通过检查完成UIApplication canOpenURL:,如果返回YES,则调用UIApplication openURL:.

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

以下是我打算如何处理第二个:

  • 在自定义 URL 中包含一个 URL 参数,该 URL 包含指向 App B 的应用商店页面的链接。如果canOpenURL:返回NO整个 URL,则打开该参数指定的 URL。

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

4

1 回答 1

1

您是否总是在 AppA 中为 AppB 打开这些 URL?

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

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

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

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

于 2013-08-01T01:10:35.080 回答