2016-03-29 4 views
-1

Ich versuche einige Benachrichtigungen für drei Monate nach der Benutzerregistrierung zu planen. Obwohl ich zuerst den ersten Morgen nach der Registrierung definieren muss. Können Sie mir helfen?Wie kann ich den nächsten Morgen nach der Benutzerregistrierung in swift definieren?

+6

Bitte zeigen Sie, dass Sie einen Sprung gehabt haben - einige Code schreiben und veröffentlichen. –

+2

Erhalte den Zeitstempel der Registrierung von deinem Server, konvertiere ihn in NSDate. Teilen Sie es in NSDateComponents. Fügen Sie drei Monate zu Monat Komponente hinzu. Erstellen Sie ein neues Datum aus diesen Komponenten. Planen Sie eine lokale Benachrichtigung für dieses NSDate. – NSNoob

Antwort

0

Planen Sie eine lokale Benachrichtigung.

let localNotif = UILocalNotification() 
let calendar = NSCalendar.autoupdatingCurrentCalendar() 
let dateComps = NSDateComponents() 

dateComps.day = registrationDate.day 
dateComps.month = registrationDate.month 
dateComps.year = registrationDate.year 
dateComps.hour = 9 
dateComps.minute = 0 

let itemDate = calendar.dateFromComponents(dateComps) 

localNotif.fireDate = itemDate.dateByAddingTimeInterval(24.0 * 60.0 * 60.0) 
localNotif.timeZone = NSTimeZone.defaultTimeZone() 

localNotif.alertBody = "Good Morning new user!" 
localNotif.alertAction = "View details" 
localNotif.alertTitle = "Good morning" 

localNotif.soundName = UILocalNotificationDefaultSoundName 
localNotif.applicationIconBadgeNumber = 1 

UIApplication.sharedApplication().scheduleLocalNotification(localNotif) 

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/IPhoneOSClientImp.html

+0

danke für die antwort. –

+0

Ich muss nur die nächsten 7 AM nach der Registrierung definieren, ob es um 1:00 oder 18:00 Uhr ist. Die nächsten 7 Am könnten etwa 24 Stunden später oder sogar 2 Stunden später sein. –

+0

Wie Sie sehen können, habe ich am Registrierungstag in meinem Beispiel die Uhrzeit auf 9:00 Uhr eingestellt. Dann füge ich 24 Stunden zu diesem Datum hinzu, so dass es am nächsten Morgen immer 9:00 Uhr ist. – Tapani

Verwandte Themen