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

Is it possible to send a local notification to the Apple Watch specifically?

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

When one of your app’s local or remote notifications arrives on the user’s iPhone, iOS decides whether to display that notification on the iPhone or on the Apple Watch.

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

没有。它完全由 OS 控制。

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

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

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

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

watchOS 3 introduces the User Notifications framework, which supports the delivery and handling of local and remote notifications. You can use the classes of this framework to schedule the delivery of local notifications based on specific conditions, such as a date or time or after a time interval, and to receive and handle local and remote notifications when they are delivered to the user’s device.

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

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

来自 this guide 的有用图片: