如何在早上8点发出日常通知? (斯威夫特3)

时间:2017-04-05 16:56:44

标签: ios swift swift3 notifications

我很遗憾地问你这样的事情,但我已经用五种不同的方式尝试了这一点,但没有一个能够奏效。我正在开发一款应用程序,它可以在您醒来时每天为您提供一个有趣的通知。它从设置的数组中获取这些事实。我曾尝试使用UNNotificationCenter,UILocalNotification等,但我没有成功编写该功能。如果你能帮我解决这个问题,我会很高兴的!

所以,早上8点,应用程序必须

  1. 调用从数组中获取新事实的函数并将其存储在UserDefaults中,我们称之为newFact()
  2. 每天上午8点发出通知,如果手机已锁定
  3. 如果你能帮助我,我将非常感激!

1 个答案:

答案 0 :(得分:0)

使用以下代码

您可以在此处调用此功能

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