【问题标题】:How to simulate the Local Notification in apple Watch App?如何在 Apple Watch App 中模拟本地通知?
【发布时间】:2015-01-27 03:00:04
【问题描述】:

我正在尝试在 Apple Watch 模拟器中模拟本地通知视图。有谁知道如何模拟苹果手表的本地通知?

我对此进行了一些研究,但没有找到上述问题的任何答案。有一种方法可以模拟 PUSH NOTIFICATION,但不能模拟 LOCAL NOTIFICATION。

【问题讨论】:

标签: objective-c xcode watchkit


【解决方案1】:
  1. 在模拟器上运行您的手表应用(通知目标),关闭通知并保持在钟面上。

  2. 切换到 iOS 模拟器并创建通知。出于测试目的,将 fireDate 设置为合理的值,例如:

    notification.fireDate = NSDate().dateByAddingTimeInterval(10)

  3. 这就是诀窍。点击 ⌘L 锁定 iOS 模拟器。

  4. 享受通知到达观看应用程序。

【讨论】:

  • 是的。这就是我想要的。我认为这应该被标记为答案。
【解决方案2】:

不可能让 Watch 应用对模拟器中的 UILocalNotification 做出反应。但是,它与对推送通知的反应几乎相同,只是它通过几种不同的方法进行路由。

如果您要呈现可操作的通知,您的 WKUserNotificationInterfaceController 子类将覆盖 -didReceiveLocalNotification:withCompletion: 而不是 -didReceiveRemoteNotification:withCompletion:

如果您的 Watch 应用启动以响应与您的一个可操作通知的交互,那么您的根 WKInterfaceController 将酌情实施 -handleActionWithIdentifier:forLocalNotification:-handleActionWithIdentifier:forRemoteNotification:

从 WatchKit 的角度来看,这些是远程通知和本地通知之间的唯一区别。

【讨论】:

  • 谢谢,有没有其他方法可以设计和测试手表应用中的本地通知视图?
  • @NSAnant 通过将本地通知的有效负载放入 PushNotificationPayload.json 文件并假装它是远程通知。我的回答的重点是表明本地和远程通知在操作系统中的处理方式几乎相同,因此您可以将它们视为几乎完全可以互换。
  • @DaveDeLong 你是否在手表模拟器中获得了本地通知,如果是这样,那么用正确的代码回复以触发手表中的本地通知。请不要说通知接收委托方法每个人都知道 abt 接收告诉 abt 在手表中触发通知
  • 那真是个麻烦事
  • 这并不严格,因为本地通知作为 UILocalNotification 进入处理程序,而远程通知作为 [NSObject : AnyObject] 进入处理程序
猜你喜欢
  • 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
相关资源
最近更新 更多