1

我有一个具有基本警报功能的应用程序。在我的 applicationWillResignActive: 方法中,我将其设置为创建通知以触发警报。这非常有效,我相信这是正确的方法(如果您认为有更好的方法,请告诉我)。

仅在特定情况下,仅在 iOS 6 上,当应用程序未“退出”(从未按下主页按钮)但用户只是锁定手机或手机自动锁定时,通知不会关闭。

我已经跟踪了代码,并且确实正在创建通知,并且它在 iOS 5 中运行良好。

这是我的代码:

- (void)applicationWillResignActive:(UIApplication *)application
{
    [UIApplication sharedApplication].idleTimerDisabled = NO;

    [alarm setupForBackground];
    if ([alarm isRunning]) {
        [alarm stop];
    }
}

这是通知创建方法:

- (void)setupForBackground
{
    UILocalNotification* alarmNotification = [[UILocalNotification alloc] init];
    if (alarmNotification) {
        alarmNotification.fireDate = alarmDate;
        alarmNotification.timeZone = [NSTimeZone defaultTimeZone];
        alarmNotification.repeatInterval = 0;
        alarmNotification.soundName = @"NotificationSound.aif";
        [[UIApplication sharedApplication] scheduleLocalNotification:alarmNotification];
    }
}

我一直在寻找答案,但找不到任何关于通知更改的说明。谢谢你的帮助。

4

1 回答 1

1

我有一个半解决方案。显然,如果您将 AlertBody 添加到通知中,则它可以工作。

我认为这是 iOS 6 中的一个错误。正如我提到的它在 iOS 5 中有效,文档没有提到有这样的要求,如果应用程序退出(主页按钮是按下)。

仍然很想知道我的理解是否正确以及是否应该向 Apple 提交错误报告。

有人想吗?

于 2012-09-24T21:38:49.277 回答