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