Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Web服务结果的触发通知。_Ios_Objective C_Ipad - Fatal编程技术网

Ios Web服务结果的触发通知。

Ios Web服务结果的触发通知。,ios,objective-c,ipad,Ios,Objective C,Ipad,我的要求是在iPad中弹出通知消息,这是我从web服务获得的消息。我在一定的时间间隔后调用web服务,并且只有当需要通知用户时,才需要显示通知。 我的代码不起作用,我想要像弹出窗口一样。我的代码如下: - (void)scheduleNotificationWithInterval:(NSString *)Notificationmsg { [[UIApplication sharedApplication] cancelAllLocalNotifications];

我的要求是在iPad中弹出通知消息,这是我从web服务获得的消息。我在一定的时间间隔后调用web服务,并且只有当需要通知用户时,才需要显示通知。 我的代码不起作用,我想要像弹出窗口一样。我的代码如下:

    - (void)scheduleNotificationWithInterval:(NSString *)Notificationmsg
    {

    [[UIApplication sharedApplication] cancelAllLocalNotifications];

    UILocalNotification *localNotification = [[UILocalNotification alloc] init];
    if (localNotification == nil)
        return;

    localNotification.fireDate = [NSDate date];
    localNotification.timeZone = [NSTimeZone defaultTimeZone];
    localNotification.alertBody = @"MyApp!";
    localNotification.repeatInterval = nil;
    localNotification.alertBody = [NSString stringWithFormat:NSLocalizedString(Notificationmsg, nil)];
    localNotification.alertAction = NSLocalizedString(@"View Details", nil);
    localNotification.applicationIconBadgeNumber = 1;
    /*
    NSDictionary *infoDict = [NSDictionary dictionaryWithObjectsAndKeys:@"Object 1", @"Key 1", @"Object 2", @"Key 2", nil];
    localNotification.userInfo = infoDict;*/

    [[UIApplication sharedApplication] presentLocalNotificationNow:localNotification];

   }
请帮帮我。

试试这个:

  -(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{
        // I recieved a notification
    }

将此方法放入Appdelegate类。

当您的fire localnotification和应用程序处于打开活动状态时,它将调用此方法,如果应用程序处于后台模式,它将显示通知,即您为应用程序设置的样式

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

    UIApplicationState state = [application applicationState];
    if (state == UIApplicationStateActive)
    {
        NSLog(@"lcoal:%@",[notification userInfo]);

        UIAlertView *al=[[UIAlertView alloc]initWithTitle:@"Challenge gehaald!" message:@"Gefeliciteerd, je hebt deze bonus challenge succesvol afgerond." delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil];
        [al show];

    }


}

如果您的应用程序未在foreground中运行,则将显示本地通知我的客户端要求是我必须调用web服务,这将返回我要显示的通知消息,因此这将仅在前台模式下发生,而不是我需要启动弹出式通知。我不想浪费时间什么的。。仅当web服务返回消息时,我必须向用户发送通知…以弹出方式。