我有两个我构建的 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
吗?