【问题标题】:Local notification not working with iOS simulator本地通知不适用于 iOS 模拟器
【发布时间】:2016-03-14 20:07:52
【问题描述】:

我不确定我做错了什么。我有以下代码:

//Create date
let calendar = NSCalendar.currentCalendar()
let now = NSDate()

let dateComponents = calendar.components([NSCalendarUnit.Day, NSCalendarUnit.Month, NSCalendarUnit.Year, NSCalendarUnit.Hour, NSCalendarUnit.Minute, NSCalendarUnit.Second], fromDate: now)

dateComponents.minute += 2 //add 2 minutes to current time for debug

let date = calendar.dateFromComponents(dateComponents)

//Create notification
let notification = UILocalNotification()
notification.alertBody = "Your task is now available"
notification.alertAction = "open"
notification.fireDate = date
notification.soundName = UILocalNotificationDefaultSoundName
notification.userInfo = ["id": NSUUID().UUIDString]
notification.category = "Notification"
     UIApplication.sharedApplication().scheduleLocalNotification(notification)

当我在应用程序中放置断点时:didReceiveLocalNotification 在应用程序委托中,它永远不会被调用。

【问题讨论】:

  • 本地通知开启后,关闭应用,然后查看。
  • 如何开启通知?模拟器的设置应用中没有通知设置。

标签: ios swift ios-simulator ios9 uilocalnotification


【解决方案1】:

好的,我会回答我自己的问题。在 AppDelegate:didFinishLaunchingWithOptions 中,我必须像这样注册通知:

let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
        UIApplication.sharedApplication().registerUserNotificationSettings(settings)

【讨论】:

  • 从 iOS 10 开始,不推荐使用 registerUserNotificationSettings。相反,您可以使用:requestAuthorization(options:completionHandler:)
猜你喜欢
  • 1970-01-01
  • 2020-06-14
  • 2014-08-18
  • 2016-06-04
  • 1970-01-01
  • 2020-07-23
  • 2015-10-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多