是否可以专门向 Apple Watch 发送本地通知?

Posted

技术标签:

【中文标题】是否可以专门向 Apple Watch 发送本地通知?【英文标题】:Is it possible to send a local notification to the Apple Watch specifically? 【发布时间】:2015-05-04 14:03:32 【问题描述】:

我在 Apple Watch 编程指南中看到了这一点:

当您的应用的本地或远程通知之一到达 用户的 iPhone,ios 决定是否在 iPhone 或 Apple Watch。

有没有办法让通知只出现在手表上?

【问题讨论】:

【参考方案1】:

这在 watchOS 3 之前是不可能的。

watchOS 3 引入了User Notifications framework,它支持本地和远程通知的传递和处理。您可以使用此框架的类来根据特定条件(例如日期或时间或时间间隔之后)安排本地通知的传递,并在将本地和远程通知传递到用户设备时接收和处理它们。

您现在可以在手表上安排本地通知,并且通知(发送到并)仅由手表处理。它不会出现在手机上。

有关详细信息,请参阅 WWDC 2016 Introduction to Notifications 和 Quick Interaction Techniques for watchOS 会议。

来自this guide的有用图片:

【讨论】:

【参考方案2】:

很遗憾,没有,对于手表应用,您现在需要在 3 个地方处理通知。当应用程序运行时,会调用 application:didReceiveLocalNotification:。当手机解锁时,通知会发送到通知中心,您需要处理用户在 application:didFinishLaunchingWithOptions: 中选择它。手表将自动处理其包含的应用程序收到的任何通知,显示应用程序和警报的正文。如果您想要自定义通知,则需要在包含的应用程序中设置通知类别,并在手表中设置动态通知。如果您只是想从应用程序获取信息到手表,您可以使用应用程序组字典或 openParentApplication:reply: 方法。

【讨论】:

【参考方案3】:

不。它完全由操作系统控制。

【讨论】:

【参考方案4】:

无论你在手表应用上能做什么,都可以从这个相对简单的文档中查看:https://developer.apple.com/library/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/

而且我认为你不能像你所说的那样做。我们不得不承认,这个版本的 WatchKit 有很多限制。

【讨论】:

以上是关于是否可以专门向 Apple Watch 发送本地通知?的主要内容,如果未能解决你的问题,请参考以下文章

当 Apple Watch 处于后台状态或睡眠模式时,我们如何从 iphone 向 Apple Watch 发送消息?

在 SwiftUI 中使用 WCSession 向 Apple Watch 发送消息

为啥通过 Apple Watch 向 iPhone 发送消息时 print() 不起作用?

Apple Watch 中的本地通知

我的 Apple Watch 从未收到托管 iOS 应用程序发送的本地通知

如何将单个字符串发送到 Apple Watch