2016-12-27 46 views
0

我正在開發一個應用程序,該應用程序應該在21天內每天發送一個本地通知,但它應該停止發送一週。我知道我可以設置fireDate,我可以設置repeatInterval,但是有什麼方法可以設置最後一個fireDate嗎?或者是否有每次發送本地通知時觸發的功能? 我知道有一個函數,如果應用程序從通知開始,但這不是我的解決方案,因爲如果用戶不打開應用程序,通知將進一步發送。 任何人都可以幫我嗎?Swift LocalNotification last fireDate

那是到目前爲止我的代碼

let notification = UILocalNotification() 
    notification.alertBody = "Take Pill" 
    notification.alertAction = "open" 
    notification.fireDate = _notificationTime 
    notification.repeatInterval = .day 
    notification.soundName = UILocalNotificationDefaultSoundName 
    notification.timeZone = Calendar.current.timeZone 
    notification.userInfo = ["title": "takePill", "UUID": "takePill"] 

    UIApplication.shared.scheduleLocalNotification(notification) 
+0

「但那麼它應該停止發送」是什麼「那麼」中的那句話是什麼意思? _什麼時候停止? 「每一天」的概念沒有終點。 (UILocalNotification已棄用,在iOS 10中不能很好地工作。) – matt

+0

它應該發送通知21天,然後應該停止一週。 –

+0

修復您的_question_,以便它正確指出問題。 – matt

回答

0

本地通知是一些系統發送給代表您的用戶。你的應用不是「在循環中」。系統始終存在,因此可以隨時發送通知 - 但您的應用可能被暫停或甚至終止。因此,如果您打算使用本地通知,那麼您必須考慮在系統爲您完成所有這些工作的同時,您的應用程序將從未運行10的可能性。

因此,現在的想法會表明,您所描述的唯一配置是安排21個通知,每個通知在隨後的每一天都會觸發。有只有 21通知,所以在第22天,沒有任何反應,因爲沒有通知安排在那一天。

(但這種限制也應該給你停下來,讓你想知道本地通知是否做到這一點的方式。)

相關問題