2016-05-21 7 views
1

私はアプリを持っており、特定の日時に通知する必要があります。私は日付と時刻を設定するために次のコードを使用しています。特定の時刻のローカル通知

let app = UIApplication.sharedApplication() 

let notificationSettings = UIUserNotificationSettings(forTypes: [.Alert, .Sound], categories: nil) 
app.registerUserNotificationSettings(notificationSettings) 

let calendar = NSCalendar.currentCalendar() 

let date = NSDateComponents() 
date.hour = 5 
date.minute = 0 
date.month = 5 
date.day = 21 
date.year = 2016 
date.timeZone = NSTimeZone.systemTimeZone() 

let alarm = UILocalNotification() 
alarm.fireDate = calendar.dateFromComponents(date) 
alarm.timeZone = NSTimeZone.defaultTimeZone() 
alarm.alertTitle = "" 
alarm.alertBody = "" 
alarm.soundName = "Sound.wav" 
app.scheduleLocalNotification(alarm) 

私は通知を許可しており、ユーザーがアプリを離れると10秒後にスケジュールを設定できますが、特定の時間は予約できません。

+0

サンプルコードの日付は過去です(今日の午前5時)。 – chedabob

+0

通知は軍用時間を使用しますか? – Loanb222

答えて

2

1つのことを除いて、コードは正確です。 NSDateは24時間制で動作します。したがって、午後5時に通知が必要な場合は、時間値を17に設定する必要があります。

date.hour = 5 //this means 05:00 AM 
date.minute = 0 

date.hour = 17 //this mean 05:00 PM 
date.minute = 0 

P.S. - alertBodyalertTitleは空白です。それを表示するように設定することもできます。

これが役に立ちます。 :)

-1

let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = /*find out and place date format from http://userguide.icu-project.org/formatparse/datetime*/ 
let customDate = dateFormatter.dateFromString(/*your_date_string*/) 

// your code 
alarm.fireDate = customDate 

your_date_stringは、あなたが通知をスケジュールする日付&時間になります以下のようにあなたの日付を設定します。

希望の方はこちら!

関連する問題