很抱歉要求您提供类似的信息,但是我已经尝试了五种不同的方法,但均无效果。我目前正在开发一款应用,该应用每天都可以在您醒着时向您发送一些有趣的事实通知。它从设置的数组中获取这些事实。我尝试使用UNNotificationCenter,UILocalNotification等,但是我没有成功编写该函数。如果您能帮助我解决此代码,我将非常高兴!

因此,在上午8点,该应用必须

  • 调用从数组中为其提供新事实的函数,并将其存储在UserDefaults中,让我们将其称为newFact()
  • 发出通知,该通知每天在上午8点显示,即使手机已锁定

  • 如果您能帮助我,我将非常感谢!

    最佳答案

    使用以下代码

    您可以在这里调用该函数

    let fact = self.newfact()
    UserDefaults.standard.set(fact,forKey: "fact")
    
    
    var dateComp:NSDateComponents = NSDateComponents()
                dateComp.year = 2017;
                dateComp.month = 04;
                dateComp.day = 05;
                dateComp.hour = 08;
                dateComp.minute = 00;
                dateComp.timeZone = NSTimeZone.systemTimeZone()
    
            var calender:NSCalendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
            var date:NSDate = calender.dateFromComponents(dateComp)!
    
            var notification:UILocalNotification = UILocalNotification()
            notification.category = "Daily alarm "
            notification.alertBody = fact
            notification.fireDate = date
            notification.repeatInterval = NSCalendarUnit.CalendarUnitDay
    

    10-08 05:46