我的目标是在后台运行应用程序时向用户发送本地通知。我已经开始测试本地通知,但没有成功。我尝试将这个[self initializeNotification];添加到UIButton动作中。

如果调试器输入警报,但未显示通知。

-(void) initializeNotification
{
    UILocalNotification *alarm = [[UILocalNotification alloc] init];
    if (alarm)
    {
        NSLog(@"Bla");
        alarm.fireDate = nil;
        alarm.timeZone = [NSTimeZone defaultTimeZone];
        alarm.repeatInterval = 0;
        alarm.soundName = @"alarmsound.caf";
        alarm.alertBody = @"Test message...";
        [[UIApplication sharedApplication] scheduleLocalNotification:alarm];
    }

最佳答案

根据为timeZone指定的值解释解雇日期。如果指定的值为nil或过去的日期,则将立即发送通知。
而且,当您的应用处于 Activity 状态时,localNotification不存在,它会立即调用delegate

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

因此,如果您想在MessageCenter中看到通知,则必须设置一个fireDate

关于ios - UILocalNotification不显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16810511/

10-13 03:44