如何为 Apple Watch 配置本地通知

Posted

技术标签:

【中文标题】如何为 Apple Watch 配置本地通知【英文标题】:How to configure local notification for the Apple Watch 【发布时间】:2015-04-03 02:21:14 【问题描述】:

我刚刚拒绝了我的 ios (8.2) 应用更新,因为本地通知没有出现在 Apple Watch 上。

由于无法在模拟器上测试本地通知,并且手表尚未发布,因此很难准确判断出什么问题。

我怀疑这与设置 UILocalNotification 对象的 alertTitle 属性有关,正如 Apple Watch Programming Guide 中提到的那样,我没有这样做。

我没有设置这个的原因是因为 alertTitle 和 alertBody 属性在通知中心和 Watch 中的处理方式似乎不同。

例如,如果我想让Watch显示“2分钟内的历史”,那么根据编程指南,我需要设置alertTitle。

但是,对于 iPhone 应用程序,我需要设置 alertBody 以便通知警报显示如图所示(如果我只设置标题,而没有设置 alertBody,则不会显示通知警报):

来自 alertBody 的文本:

但是,如果我也将 alertTitle 设置为相同的文本,(以便它出现在手表上)然后在通知中心,文本会显示两次,即标题和正文,例如:

来自 alertTitle 和 alertBody 的文本

另外,如果我不设置 alertTitle,那么主通知屏幕会显示应用名称,这也很烦人。例如:

来自应用名称和 alertBody 的文本 - 未设置 alertTitle:

那么,设置 alertTitle 和 alertBody 的组合是否适用于通知警报、通知中心和手表?

顺便说一句:我刚刚从应用程序中删除了通知屏幕截图和描述并重新提交。一旦我可以在模拟器中测试(如果发生这种情况),或者我得到一块手表(如果也发生这种情况!),我就会添加本地通知。

【问题讨论】:

【参考方案1】:

将警报标题和警报正文设置为不同的文本是有意义的。根据alert title of UILocalNotification 的 Apple 文档:

标题字符串应该很短,通常只有几个单词 说明通知的原因。 Apple Watch 显示 标题字符串作为简短通知界面的一部分,其中 空间有限。

因此,在我的应用程序中,我将标题和正文设置为不同的文本。

当通知弹出时出现:

这是通知中心的文本,同时显示了标题和正文:

我了解文档,因此 Apple Watch 上的简短通知中只会显示标题。

我认为您的应用因未设置通知标题而被拒绝。

【讨论】:

说出正确答案。不要告诉手表不支持通知,那么人们如何提交支持通知的手表应用 @iOSdev:我从来没有说过 Apple Watch 不支持通知。您在我的回答中从哪里看到的? 问题是关于在手表中触发本地通知。你的回答是关于 iphone 通知。关系在哪里?回答触发“如何为 Apple Watch 配置本地通知” 由于受挫,您的回答不被接受。我想要正确的答案

以上是关于如何为 Apple Watch 配置本地通知的主要内容,如果未能解决你的问题,请参考以下文章

Apple Watch 中的本地通知

在 Apple Watch 中显示 iPhone 本地通知

Companion Apple Watch App 本地通知延迟?

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

如何在 Apple Watch 模拟器中测试本地通知?

当 iPhone 从配对的 Apple Watch 收到消息时本地通知不会取消(有时)