如何使用 WatchKit 触发通知
Posted
技术标签:
【中文标题】如何使用 WatchKit 触发通知【英文标题】:How to trigger notifications using WatchKit 【发布时间】:2014-11-24 03:48:02 【问题描述】:在WatchKit developer guide,how to render custom notifications上有说明,还写着:
应用不需要做任何事情来支持通知。系统提供默认通知界面,显示通知中的警报消息。但是,应用可以自定义通知界面并包含自定义图形、内容和品牌。
我可以获得本地通知以在手机上触发横幅警报,但它们不会在 WatchKit 应用上发生。我已经尝试使用所有目标进行调试:
-
ios 应用
观看应用
观看一览
观看自定义通知
即使手机应用程序处于后台,在收到本地通知时似乎也没有触发。我也通过模拟在后台接收到的远程通知来尝试这个。
我希望我不必直接调用 watchKit 的控制器本地/远程通知处理程序。
【问题讨论】:
【参考方案1】:我希望我不必直接调用 watchKit 的控制器本地/远程通知处理程序。
不,你没有。
答案是 XCode 目前不支持同时调试 Apple Watch 和 iPhone。这就是为什么你不能将通知从 iPhone 模拟器推送到 Watch 模拟器,目前仅支持 *.apns
文件的有效负载测试。
【讨论】:
实际上你可以,但不是你所期望的。使用 xCode 中的播放按钮运行 WatchKit 应用程序。接下来在 iPhone 模拟器上,启动相应的 iOS 应用程序。返回 xCode 并选择 Debug -> Attach to Process。在列表顶部附近,您应该会看到 iOS 应用程序的目标。您可以通过选择控制台窗口上方的名称在调试控制台之间切换 它可以工作,但使用 Watch Connectivity Framework 没有消息到达。【参考方案2】:它在Notification Essentials中解释过
iOS 决定是在 iPhone 上还是在 Apple Watch 上显示该通知。
所以我不认为(截至目前)可以从应用程序中执行任何操作来专门在手表中触发通知。
编辑:看起来 8.2 测试版中存在错误。
WatchKit 已知问题
在 iOS 模拟器中查看通知时,点击通知图标或正文不会启动相应的 Watch 应用
Release notes
【讨论】:
【参考方案3】:为了测试手表通知,您必须首先创建一个新的构建方案。
复制您的手表应用方案,并在“运行”部分中,选择您的自定义通知作为可执行文件。
现在您可以运行通知方案了。
在项目的扩展组中,支持文件下是一个名为 PushNotificationPayload.json 的文件。
您可以编辑负载文件以尝试不同的通知和类别。
Source
【讨论】:
【参考方案4】:我在创建项目时只有两个目标:
[应用名称] [应用名称] 观看应用编辑 Watch App 方案允许我选择另一个可执行文件——特别是那里有 Glance 和 Notification 选项,它们对我有用。只需选择它,关闭并运行。我没有尝试复制目标/方案,所以我不必编辑它们,但我认为这不是问题。
编辑:实际上,SDK tells you to edit the scheme 也是。
【讨论】:
对,它在 Edit Scheme -> Watch Interface :) 谢谢!以上是关于如何使用 WatchKit 触发通知的主要内容,如果未能解决你的问题,请参考以下文章