【问题标题】:How to trigger notifications using WatchKit如何使用 WatchKit 触发通知
【发布时间】:2014-11-24 03:48:02
【问题描述】:

WatchKit developer guidehow to render custom notifications上有说明,还写着:

应用不需要做任何事情来支持通知。系统提供默认通知界面,显示通知中的警报消息。但是,应用可以自定义通知界面并包含自定义图形、内容和品牌。

我可以获得本地通知以在手机上触发横幅警报,但它们不会在 WatchKit 应用上发生。我已经尝试使用所有目标进行调试:

  1. iOS 应用
  2. 观看应用
  3. 观看一览
  4. 观看自定义通知

即使手机应用程序处于后台,在收到本地通知时似乎也没有触发。我也通过模拟在后台接收到的远程通知来尝试这个。

我希望我不必直接调用 watchKit 的控制器本地/远程通知处理程序。

【问题讨论】:

    标签: ios watchkit apple-watch


    【解决方案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 :) 谢谢!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-19
        相关资源
        最近更新 更多