如何使用完成按钮呈现包含 iOS App Store 的 UIViewController

Posted

技术标签:

【中文标题】如何使用完成按钮呈现包含 iOS App Store 的 UIViewController【英文标题】:How to present a UIViewController containing iOS App Store, with Done button 【发布时间】:2018-02-15 16:54:40 【问题描述】:

According to Apple,要从 App 内启动到 ios App Store,您必须将 App Store 链接 (https://itunes.apple.com/us/app/apple-store/id375380948?mt=8) 传递给 UIApplication.shared.open

当你调用这个方法时,你会得到一个最初看起来像这样的屏幕:

然后看起来像这样(如果你点击打开):

您可以看到有一个返回按钮将带您返回,而不是返回您最初点击安装链接的应用程序,而是返回 Safari。我认为这是因为我们使用了一个封装的 URL,该 URL 执行了 302 重定向到应用商店,这意味着 UIApplication.shared.open 没有意识到它是应用商店的链接,而是使用 Safari 来解析链接,然后你去 App Store。

但是,经过进一步调查,显然有某种 API 调用将呈现一个模态 UIViewController,它本身托管 iOS App Store,并带有一个“完成”按钮,当您完成时点击该按钮。

您可以在下面的动画 gif 中看到这一点,我从一个流行的天气应用中的广告单元创建;在这段视频中,我点击了“战争机器人”安装广告。

上述视频调用中的广告单元是什么 API 以模态 UIViewController 和完成按钮呈现 iOS App Store,而不是将整个应用程序置于后台并带您完全进入 Safari,然后进入 App Store 应用程序?这是我所描述的:

【问题讨论】:

帮您的用户一个忙,使用SKStoreProductViewController @rmaddy 这就是答案,谢谢!请回复,以便我接受。 【参考方案1】:

您可以使用SKStoreProductViewController

它从 iOS 6 开始可用,并且是推荐的将用户带到 App Store 列表的方式。也可以查看this answer: How to link to apps on the app store。

【讨论】:

以上是关于如何使用完成按钮呈现包含 iOS App Store 的 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章

在 R Shiny App 中,如何在首次调用 App 时呈现默认表格?

首次打开 App 时显示 UIScrollView

iOS - 如果正在呈现模型视图,如何不呈现?

苹果mac怎么下载app stor以外的东西

其他组件使用localstorage登录/注销时如何在AppBar中显示和隐藏登录和注销按钮

如何在手机app软件制作中加入百度地图?