2015-10-09 38 views
0

設置在我們的應用程序,如果用戶已經爲未來設定提醒從我們來說,我們設置通過本地通知,觸發本地通知從scheduleLocalNotification

UILocalNotification *localNotif = [[UILocalNotification alloc] init]; 
if (localNotif == nil) return; 
NSDate *fireTime = [[NSDate date] addTimeInterval: 60 * 60]; // adds 1 hour (60 seconds * 60 minutes) 
localNotif.fireDate = fireTime; 
localNotif.alertBody = @"Alert!"; 

[[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; 

顯然,這是很容易測試,如果它只是一個幾秒/分鐘,但是當它計劃在未來很遠的時候測試100%,對於我們來測試它,是我們等待的唯一選擇嗎?

在Android上,你能簡單地調整手機的日期和時間,並觸發本地通知,但迄今爲止,我看不出有什麼辦法做到這一點在iOS。

有沒有辦法?

+0

你是什麼意思,你不能罰款的地方,你可以改變設備的時間或本地通知不會被解僱嗎?您是如何測試它的,是在前臺打開的應用程序,是在後臺還是完全死亡,您是否在通知設置和應該觸發之間重新安裝應用程序? –

+0

從應用程序中,設置「now」的時間加上一個時間(例如一個小時),然後轉到設置,將時間調整到將來一個小時一分鐘,然後回到屏幕。但沒有通知。如果我等一個小時,我會得到一個。 – seaders

+1

如何配置通知對象以及如何更改設備時間(相同的時區或時區偏移+時鐘更改)? –

回答

1

您需要設置UILocalNotificationtimeZone財產。否則,通知只是一個倒數計時器。

localNotif.timeZone = [NSTimeZone systemTimeZone]; 
+0

就是這樣,謝謝@strwils! – seaders