(iOS)如何加快“didReceiveLocalNotification:”的反应时间?

时间:2013-09-24 06:03:41

标签: ios objective-c uilocalnotification alarm

背景

我正处于学习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];
}

0 个答案:

没有答案