【问题标题】:Firing apple watch notification触发 Apple Watch 通知
【发布时间】:2015-04-22 04:56:29
【问题描述】:

我有一个待办事项应用程序,我需要在预定的待办事项时间向手表显示通知。我该怎么做呢?我读过 iOS 本地通知会自动在手表中触发通知。是否可以?如果是,我需要额外添加任何代码吗?

【问题讨论】:

  • 是的,你是正确的@Naveen。 “操作系统负责在预定时间发送本地通知;该应用程序不必运行就可以发生这种情况。” -Apple Documentation。您需要为本地通知添加代码。通过here 更清楚地了解特定的待办事项。希望这对您有所帮助。
  • 感谢@Rajat。当 iPhone 应用触发本地通知时,我们为手表应用制作的通知场景会出现吗?
  • 是的,它将显示在手表上。
  • 感谢您的信息。这解决了我的问题。

标签: ios notifications watchkit apple-watch


【解决方案1】:

在 watchOS 3 中,您不再需要使用手机来安排通知。

您现在可以使用新的UserNotifications 框架直接在手表上安排本地通知。这些通知只会出现在手表上并由手表处理。

WWDC 2016 Introduction to Notifications 会议介绍了如何使用不同类型的触发器来触发待办事项通知,例如:

  • 时间间隔触发

    // In 2 minutes from now
    UNTimeIntervalNotificationTrigger(timeInterval: 120, repeats: false)
    
    // Repeat every hour starting now
    UNTimeIntervalNotificationTrigger(timeInterval: 3600, repeats: true)
    
  • 日历触发器

    let dateComponents = DateComponents()
    // Configure dateComponents
    UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: false)
    

该课程还介绍了如何在手表上处理可操作的通知。

【讨论】:

    【解决方案2】:

    UILocalNotification 的概念在 WatchKit 中没有改变。唯一改变的是 iOS 现在可以决定是否向 iPhone 或 Watch 发送本地(或远程)通知。但是,没有编程方式来控制这些设备中的哪一个实际显示通知。

    要从 WatchKit 应用程序安排 UILocalNotification 需要使用类似 WKInterfaceController 上的 openParentApplication:reply: 类方法让 iPhone 应用程序执行实际安排。这是因为 WatchKit 无权访问用于安排本地通知的类 UIApplication

    【讨论】:

    • 如果我在iOS应用中设置本地通知,通知会自动显示到手表上吗?
    • 仅当 iOS 决定在手表上显示它时。请记住...您无法控制通知的显示位置。
    • 必须锁定设备才能在您的 Apple Watch 中接收通知
    • 或者,为了调试,您可以进入 iPhone 上的 Watch 配套应用并禁用常规/手腕检测。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多