【问题标题】:watchOS Complications deep link to a page in the appwatchOS Complications 应用程序中页面的深层链接
【发布时间】:2015-10-28 14:06:11
【问题描述】:

我正在尝试构建一个应用程序,它支持 watch OS2 上的多个复杂功能系列,例如模块化大、实用大、圆形小等,每个都显示来自应用程序的各种有意义的信息。我知道复杂性与我们在用户交互方面自 OS1 以来所拥有的外观有点相似,即它会在用户点击应用时打开应用,并且那里没有特殊的交互。

Inglance 中,我能够根据当前的 Glance 内容对应用进行深层链接,但我正在寻找一种方法来解决复杂问题。

所以我的问题是当用户点击我的应用程序的并发症时,我会得到任何类型的上下文信息,说明点击了这个并发症等。 我想如果我可以在上下文中获得一个 CLKComplication 对象。

感谢任何帮助。

【问题讨论】:

    标签: watchos-2 watchos-3


    【解决方案1】:

    ClockKit/CLKDefines.h 中,您可以找到CLKLaunchedTimelineEntryDateKey 常量。
    但是您无法定义自己的用户信息来帮助您确定应用启动时要执行的操作。

    来自 CLKComplicationDataSource Protocol Reference

    CLKLaunchedTimelineEntryDateKey

    指示复杂功能启动日期的键。这个键的值是一个NSDate 对象。当用户点击您的复杂功能时,ClockKit 会将这个键包含在传递给扩展委托的handleUserActivity: 方法的字典中。

    适用于 watchOS 2.0 及更高版本。

    【讨论】:

    • 谢谢@Fabian,这只是给了我按下的并发症的日期值,但我需要按下哪个系列的并发症,比如模块化的小型、大型等。
    • 不支持,抱歉。你应该提交一份雷达文件。
    • 是的,我也是这么想的,同时让这篇文章保持开放。
    【解决方案2】:

    由于您可以通过CLKLaunchedTimelineEntryDateKey 获取点击时间线条目的日期,因此您可以通过为特定类型的时间线条目设置“固定秒数”来获取并发症类型(系列)。

    固定秒应由NSDateComponents 计算,然后转换为NSDate,您可以将其传递给CLKComplicationTimelineEntry

    例如,您可以指定 modularSmall 条目的日期结束时间为 10 秒,但 modularLarge 条目的日期结束时间为 20 秒。因此,日期为上午 9:41:10 的点击条目应为 modularSmall 类型,而日期为上午 9:41:20 的条目应为 modularLarge 类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 2014-09-18
      • 2021-08-06
      • 1970-01-01
      相关资源
      最近更新 更多