2017-02-04 52 views
0

早安先生們UNCalendarNotificationTrigger - 小時後,執行

我知道使用UNCalendarNotificationTrigger這樣:

var dateComponents = DateComponents() 
dateComponents.hour = 10 
dateComponents.minute = 30 
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true) 
每天

在10:30的通知將交付。

我的問題是,用戶是否打開應用程序或通話後,如果通知將無論如何打電話。

回答

0

本地通知一經創建和排定,與您的應用程序無關。他們被置於系統的手中,從那時起照顧他們。這就是用戶通知中心的用途。

該通知將始終觸發。它是否會「交付」取決於您「交付」的含義。

用戶可以關閉通知,在這種情況下,通知觸發時將不會出現可見的通知警報。但是,如果用戶選擇在通知中心中允許通知提醒和通知,則通知將會顯示。如果您的應用程序未運行,則會發生這種情況。

如果您的應用程序在通知觸發時運行,那麼您需要將自己設置爲notification center delegate以便了解它。如果您不這樣做,那麼在默認情況下,警報對用戶不可見。

如果「用戶在該時間之後打開應用程序......」,如您在您的問題中所述,那麼通知的發送已發生已發生。如果用戶已經允許通知提醒,那麼用戶已經已經看到該提醒了。您可以諮詢通知中心瞭解最近的通知。但既然你知道通知在10:30開了,如果你的應用程序啓動的時間是10:40,所要做的就是查看當前時間,以便知道發生了什麼。

+0

感謝您的解釋馬特,幫助我很多 – user2976298