2017-01-04 9 views
0

私のアプリでローカル通知を使用して、緊急メッセージをユーザーに警告しています。何が起こるかは、ユーザーがプッシュ通知を受信した後、ローカル通知が作成され、60秒後に60秒の時間間隔で起動されます。これはうまく動作し、緊急通知は60秒ごとに発生します。ローカル通知UNTimeIntervalNotificationTrigger triggerWithTimeIntervalは、停止方法を1分ごとに起動します。

1分ごとに発生するローカル通知スターです。しかし、私は それらを停止したい。あなたは私にこれをどう扱うべきかを提案することができますか?

私はこの問題は一度も起こりませんでした。通知は夜間でも繰り返し発生するため、これは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

FUNCのredirectLogToDocuments(){ ALLPATHS = NSSearchPathForDirectoriesInDomains(.documentDirectory、.userDomainMask、true)を聞かせて documentsDirectory = allPaths.firstをしましょう! let pathForLog = documentsDirectory.appendingFormat( "/ applog.txt") freopen(pathForLog.cString(using: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"]) 
    } 
}) 
関連する問題