本地通知何时停止显示?

时间:2012-05-26 10:02:34

标签: ios5 uilocalnotification

我最近为客户做了一个包含本地通知的应用程序。在原始版本中,通知工作正常。但是当客户端尝试发布另一个版本时,只更改了图像和数据库资源,代码没有变化,通知停止工作。现在我一直在尝试调试代码,但一无所获。一切似乎都很好,但没有通知。同时,如果我运行早期的构建,它的工作完美。你能帮我解决一下可能出错的地方吗?非常感谢您的时间。

NSTimeInterval diffTimeIntervalSinceNow = timeInterval; //time-interval after which notification should appear


    UILocalNotification *localNotification = [[UILocalNotification alloc] init]; //Create the localNotification object
    [localNotification setFireDate:[NSDate dateWithTimeIntervalSinceNow:diffTimeIntervalSinceNow]]; //Set the date when the alert will be launched using the date adding the time the user selected on the timer
    //[localNotification setRepeatInterval:notificationInterval];

    [localNotification setAlertAction:@"Launch"]; //The button's text that launches the application and is shown in the alert
    [localNotification setAlertBody:alertBody]; //Set the message in the notification from the textField's text
    [localNotification setHasAction: YES]; //Set that pushing the button will launch the application
    [localNotification setApplicationIconBadgeNumber:[[UIApplication sharedApplication] applicationIconBadgeNumber]+1]; //Set the Application Icon Badge Number of the application's icon to the current Application Icon Badge Number plus 1

    [[UIApplication sharedApplication] cancelAllLocalNotifications];
    [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; //Schedule the notification with the system
    [localNotification release];

这就是我一直在使用的代码。但这是在早期版本中使用的完全相同的代码。

2 个答案:

答案 0 :(得分:0)

我更正了您的代码: - 试试这个: - 在Button动作中或在任何方法内部

  [[UIApplication sharedApplication] cancelAllLocalNotifications];
       NSTimeInterval diffTimeIntervalSinceNow = timeInterval; //time-interval after which notification should appear


            UILocalNotification *localNotification = [[UILocalNotification alloc] init]; //Create the localNotification object
            [localNotification setFireDate:[NSDate dateWithTimeIntervalSinceNow:diffTimeIntervalSinceNow]]; //Set the date when the alert will be launched using the date adding the time the user selected on the timer
            //[localNotification setRepeatInterval:notificationInterval];

            [localNotification setAlertAction:@"Launch"]; //The button's text that launches the application and is shown in the alert
            [localNotification setAlertBody:alertBody]; //Set the message in the notification from the textField's text
            [localNotification setHasAction: YES]; //Set that pushing the button will launch the application
            [localNotification setApplicationIconBadgeNumber:[[UIApplication sharedApplication] applicationIconBadgeNumber]+1]; //Set the Application Icon Badge Number of the application's icon to the current Application Icon Badge Number plus 1


            [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; //Schedule the notification with the system
            [localNotification release];

这项工作: - 在App委托中检查此方法是否获得某些事件

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{

}

对于取消所有通知,请在

中使用此功能

答案 1 :(得分:0)

可能是您的客户也修改了alertBody,并且新的alertBody的长度太长了?