1

背景

我正处于学习 iOS 开发(和 Objective C)的早期阶段。在我遵循的最新教程之后,我决定进一步学习。

教程结束后,我有一个闹钟应用程序,它LocalNotification在用户设置的时间触发 a。由于本地通知仅在应用程序处于后台模式时播放闹钟声音,我不认为它是一个闹钟。因此,我着手在应用程序打开并处于焦点时添加警报功能。

我现在在哪里

我的闹钟应用程序功能完全正常。如果应用程序打开,用户会收到 aUIAlertView和警报声。

问题

要触发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];
}
4

0 回答 0