当模拟器被锁定时,WatchKit本地通知不会触发

时间:2015-10-05 14:42:59

标签: swift notifications ios9 watchkit watch-os-2

假设您有一个安排本地通知的iOS应用程序。通知被触发后,它会在iPhone模拟器中显示。如果iPhone模拟器已锁定,则会在Watch模拟器中显示通知,但仅当应用程序未处于活动状态且模拟器未锁定时才会显示。

此方案中未显示通知:

  • iPhone模拟器已锁定;
  • Watch模拟器正在运行应用程序,但它已被Command + L锁定。

此方案中也未显示通知:

  • iPhone模拟器已锁定;
  • Watch模拟器正在运行应用程序;
  • 用户切换到表盘;
  • 用户使用Command + L锁定模拟器。

在这两种情况下,通知不会显示在模拟器中。如果使用Command + L解锁Watch模拟器,则会立即显示通知。

我还注意到,如果模拟器被锁定,则不会调用WKExtensionDelegate.didReceiveLocalNotification方法;但是,如果应用程序正在运行但模拟器未锁定,则会调用此方法。

似乎beaviour与真实设备一致。这种情况发生在iOS 9 / watchOS 2上。

通知配置如下:

notification.alertBody = "Tempo scaduto"
notification.soundName = UILocalNotificationDefaultSoundName
notification.category = "style0"
notification.fireDate = date
notification.userInfo = dictionary

在上述方案中,通知“丢失”,因为它没有显示给用户,也没有回调应用程序代码来手动管理。

0 个答案:

没有答案