2017-01-04 12 views
0

Я использую локальные уведомления в своем приложении, чтобы сообщать пользователю о срочных сообщениях. Что происходит, так это то, что пользователь получает push-уведомление, затем создается локальное уведомление и запускается через 60 секунд с интервалом в 60 секунд. Это отлично работает, и срочное уведомление срабатывает каждые 60 секунд, как и ожидалось.Локальное уведомление UNTimeIntervalNotificationTrigger triggerWithTimeInterval срабатывает каждые 1 минуту, как останавливается

Местная звезда уведомления, стреляющая каждую минуту. Но я хочу, чтобы остановил их. Можете ли вы предложить мне, как с этим справиться.

На iOS 9 мы вообще не сталкивались с этой проблемой, и уведомление срабатывало многократно за одну ночь, поэтому я думаю, что это может быть связано с iOS 10?

код я использую, чтобы создать уведомление следующим образом:

let content = UNMutableNotificationContent() 
      content.body = NSString.localizedUserNotificationString(forKey: notificationMessage, arguments: nil) 

      content.badge = 1 
      let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 60, repeats: true) 
      let request = UNNotificationRequest.init(identifier: "", content: content, trigger: trigger) 
      center.add(request, withCompletionHandler: {(_ error: Error?) -> Void in 
       if error == nil { 
        print("add NotificationRequest succeeded!") 
//     trigger.timeInterval. 
       } 
      }) 
+0

функ redirectLogToDocuments() { пусть allPaths = NSSearchPathForDirectoriesInDomains (.documentDirectory, .userDomainMask, правда) пусть documentsDirectory = allPaths.first! let pathForLog = documentsDirectory.appendingFormat ("/ applog.txt") freopen (pathForLog.cString (используя: String.Encoding.ascii) !, "a +", stderr) } –

ответ

0

Я нашел недостающую точку.

let content = UNMutableNotificationContent() 
    content.title = NSString.localizedUserNotificationString(forKey: "Elon said:", arguments: nil) 
content.body = NSString.localizedUserNotificationString(forKey: notificationMessage, arguments: nil) 
content.sound = UNNotificationSound.default() 
content.badge = UIApplication.shared.applicationIconBadgeNumber + 1 as NSNumber? 
    content.categoryIdentifier = "com.elonchan.localNotification" 
// Deliver the notification in five seconds. 
let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: 60.0, repeats: false) 
let request = UNNotificationRequest.init(identifier: "FiveSecond", content: content, trigger: trigger) 
// Schedule the notification. 
center.add(request, withCompletionHandler: {(_ error: Error?) -> Void in 
    if error == nil { 
     print("add NotificationRequest succeeded!") 
     center.removePendingNotificationRequests(withIdentifiers: ["FiveSecond"]) 
    } 
})