0

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

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];

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

4

2 回答 2

0

我更正了您的代码:- 试试这个:- 在按钮操作中或在任何方法中

  [[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
{

}

要取消所有通知,请在

于 2012-05-26T10:58:43.280 回答
0

可能你的客户端也修改了alertBody,新的alertBody的长度太长了?

于 2012-08-22T07:25:13.583 回答