Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/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 objective c中,当应用程序处于活动状态时,如何获取推送通知?_Ios_Objective C_Xcode8 - Fatal编程技术网

在ios objective c中,当应用程序处于活动状态时,如何获取推送通知?

在ios objective c中,当应用程序处于活动状态时,如何获取推送通知?,ios,objective-c,xcode8,Ios,Objective C,Xcode8,我正在开发一个应用程序,在其中我实现了苹果推送通知。当我的应用程序处于后台状态时,我可以接收推送通知,但当我的应用程序处于活动状态时,我无法获取任何推送通知,anypne是否可以对此提供帮助 在didReceiveMotonification中添加UIAlertView并检查您是否在活动状态下收到通知。检查下面的代码 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionar

我正在开发一个应用程序,在其中我实现了苹果推送通知。当我的应用程序处于后台状态时,我可以接收推送通知,但当我的应用程序处于活动状态时,我无法获取任何推送通知,anypne是否可以对此提供帮助

didReceiveMotonification
中添加
UIAlertView
并检查您是否在
活动状态下收到通知。检查下面的代码

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo  {

        if (application.applicationState == UIApplicationStateActive) {                              
            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Received a Notification" message:[NSString stringWithFormat:@"My App received  notification while it is running:\n%@",[[userInfo objectForKey:@"aps"] objectForKey:@"alert"]]delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
            [alertView show];          
        }    
    }

尝试检查内部
didReceiveRemoteNotification

 - (void)application:(UIApplication *)application 
    didReceiveRemoteNotification:(NSDictionary *)userInfo 
    fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler
委托方法以在所有状态下接收远程通知

如果要在活动状态下显示通知警报。使用
HDNotificationView
显示通知警报

像这样:

if(application.applicationState == UIApplicationStateActive) {

[HDNotificationView showNotificationViewWithImage:[UIImage imageNamed:@"Icon-40.png"]
                                                            title:title
                                                          message:message
                                                       isAutoHide:YES
                                                          onTouch:^{
                                                              /// On touch handle. You can hide notification view or do something
                                                              [HDNotificationView hideNotificationViewOnComplete:nil];
                                                          }];
}

当应用程序收到的推送通知可以是以下5种状态之一时,请参见:

1)未运行

2)不活动

3)背景

4)暂停

5)活动的

如果应用程序状态为1,2,3,4,则iOS将处理并显示横幅 在5(活动状态)的情况下,我们的应用程序需要处理此情况 在这种情况下,将调用下面的方法

参考


在这里,你需要使用application.state==Active检查应用程序的状态,然后你可以做任何你想做的事情理想情况下,我们需要显示警报

你能分享一些代码吗,这样任何人都可以很容易地看到我的推送通知服务不适用于ios设备,但适用于android。。有人能告诉我问题出在哪里吗?我做错了吗?
- (void)application:(UIApplication *)application 
didReceiveRemoteNotification:(NSDictionary *)userInfo 
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;