如何从 watchOS 应用打开 App Store?

Posted

技术标签:

【中文标题】如何从 watchOS 应用打开 App Store?【英文标题】:How to open App Store from a watchOS app? 【发布时间】:2017-08-14 08:59:34 【问题描述】:

假设我有一个专业版的 watchOS 应用,我想将用户重定向到 iPhone 上的 App Store。如何做到这一点?

我尝试使用WatchConnectivity。在 ios 应用程序中,我有以下代码:

func session(_ session: WCSession, didReceiveMessage message: [String : Any]) 
    if message[.openProAppOnAppstoreMessageKey] != nil 
        // NOTE: Works only in foreground
        UIApplication.shared.openURL(.proApp)
    

问题在于,这只有在 iOS 应用程序处于前台时才有效。在后台调用session(didReceiveMessage:)成功,但是openURL没有效果。

【问题讨论】:

【参考方案1】:

无法使用WatchConnectivity 将您的 iOS 应用程序置于前台,并且您无法从后台打开任何应用程序。用户需要打开您的应用才能使用。

这是 Apple 的故意限制,想象一下如果开发人员可以将应用从后台带到前台并打开其他应用会产生什么后果。

【讨论】:

updateApplicationContext 的描述如何帮助解决我的特定问题?我想立即打开 App Store,updateApplicationContext 不适合这个。 在编辑之前,根本不清楚实际问题是什么。但是,我已根据您的编辑更新了我的答案。

以上是关于如何从 watchOS 应用打开 App Store?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 WatchOS 3 中的自定义通知操作中打开特定的视图控制器

如何从 watchOS App 中的 iOS 文件夹访问课程

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

独立的 watchOs app 需要分发吗?

打开 WatchOS2 时获取更新的应用程序上下文

如何设置 Bundle Ids、App Identifiers 和 Provisioning Profiles 以发布使用 SwiftUI 和 XCode 制作的 WatchOs 应用程序?