背景
我正处于学习iOS开发(和目标C)的早期阶段。在我遵循的最新教程之后,我决定更进一步。
在本教程之后,我有一个闹钟应用程序,它在用户设置的时间内触发LocalNotification
。由于本地通知仅在应用程序处于后台模式时播放警报声音,因此我认为它不是闹钟。所以我开始在应用程序打开和关注时添加警报功能。
我现在在哪里
我的闹钟应用功能完全正常。如果应用程序处于打开状态,则用户会收到UIAlertView
并发出警报声。
问题
要触发UIAlertView
,我使用didReceiveLocalNotification:
方法。
在用户设置的时间与调用didReceiveLocalNotification:
之间存在相当大的延迟。准确地说是38秒。
我可能只是在挑剔,但它让我无法理解为什么。我通过GitHub搜索了一些其他的例子,他们似乎都遵循了和我一样的模式。
什么可能导致这样的延迟?如果这是正常行为,可以做些什么来摆脱延迟?
如果我的任何代码可能有用,请告诉我。由于didReceiveLocalNotification:
是预定义的方法,并且我无法控制何时调用它,因此我不确定您可能需要哪些代码。
其他信息
设置闹钟时间的方法
- (void) scheduleLocalNotificationWithDate: (NSDate *) fireDate
{
UILocalNotification *backgroundNotification = [[UILocalNotification alloc] init];
backgroundNotification.fireDate = fireDate;
backgroundNotification.alertBody = @"Wake Up!";
backgroundNotification.soundName = @"My_Alarm.mp3";
[[UIApplication sharedApplication] scheduleLocalNotification: backgroundNotification];
}