0

我想要合併在一定時間間隔後觸發的localnotifications,但是,我似乎無法在使用模擬器進行測試時在任何時候顯示通知。模擬器不顯示UILocalNotification

我只是想在創建10秒後顯示本地通知,但是,在模擬器中運行應用程序時,無論應用程序位於前臺還是後臺,都不會顯示任何內容。

我錯過了什麼嗎?這可能對時區有用嗎?

//通知設置

UILocalNotification* localNotification = [[UILocalNotification alloc] init]; 
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10]; 
localNotification.alertBody = @"Testing"; 
localNotification.alertAction = @"Show me the item"; 
localNotification.timeZone = [NSTimeZone defaultTimeZone]; 
localNotification.applicationIconBadgeNumber = [[UIApplication sharedApplication] applicationIconBadgeNumber] + 1; 

[[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; 

//這是在我的應用程序委託

UIApplicationState state = [application applicationState]; 
if (state == UIApplicationStateActive) { 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Reminder" message:notification.alertBody delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [alert show]; 
} 
+0

如果您註釋掉時區,會發生什麼情況? – rocky

回答

5

1)有您註冊爲使用通知?你可以在這裏看到我的帖子,關於我所面對的只是錯過了這個簡單的步驟。這是斯威夫特,但你得到的要點:UILocalNotification not doing anything

2)我不覺得當你在App的內部通知的工作,因爲那違背了通知的目的。當您不在應用程序中時,通知應該提醒您,如背景模式或終止。所以當你測試時,確保你沒有在應用程序中

3)一般來說,測試通知最好在真實設備上從我的經驗比模擬器完成。

+0

非常感謝你!我需要更多地閱讀文檔,而不是依靠教程:)我很驚訝,我找不到任何有關注冊本地通知的信息! – HJordan35

+0

是的,沒有一個教程提到過這個,我不明白爲什麼。但正如你所說,這也有助於我更詳細地閱讀文檔。 Thx接受答案。 – Lavvo

0

的iOS模擬器不能自動得到真正的位置didReceiveLocalNotification。

您可以設置一個虛擬的位置來讓您的應用繼續運行。嘗試使用它來檢測它是否是模擬器,然後設置它。

#if (TARGET_IPHONE_SIMULATOR)