2016-09-07 8 views
0

iOS 10ローカル通知を実装しようとしていましたが、最初に通知拡張ターゲットを追加するだけのコードがiOS 9と同じだと思っていました。しかし、実際にはUNMutableNotificationContentクラスを使用しています。ローカルのUNMutableNotificationContentの日付ピッカーを使用した発射日

時間間隔を使用して通知する通知を設定することはできますが、日付ピッカーを使用して特定の日付を設定するにはどうすればよいですか?

import UserNotifications 

let dateFormatter = DateFormatter() 
dateFormatter.dateStyle = .full 
let displayDate = dateFormatter.string(from: datePicker.date) 

let notif = UNMutableNotificationContent() 

notif.title = "Reminder)" 
notif.subtitle = "\(displayDate)" 
notif.body = "Details" 
notif.categoryIdentifier = "Details Reminder" 

let notifTrigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false) 

let request = UNNotificationRequest(identifier: "myNotif", content: notif, trigger: notifTrigger) 

UNNotificationRequestトリガーは私がちょうど日付を追加することができます期待していたタイプUNTimeIntervalNotificationTriggerが必要です。

現在の日付と日付ピッカー日付を使用してインターバル時間を調整する必要がありますか?または、他の方法でこれを行うことができますか?

答えて

2

「今」と通知を送信する間隔を指定する必要があります。この場合

let interval = laterDate.timeIntervalSince(earlierDate) 

earlierDateは '今' でなければなりません(すなわち。ただDate())、と私はlaterDateがあなたのdatePicker.dateであると仮定します。

2

UNCalendarNotificationTriggerを使用する必要があります。

UNCalendarNotificationTrigger.init(dateMatching: NSCalendar.current.dateComponents([.day, .month, .year, .hour, .minute], from: <<YOUR_DATE>>), repeats: false) 
関連する問題