如何在前台收到ios通知?

时间:2015-07-17 03:06:02

标签: ios swift

我可以在后台,关闭或锁定屏幕中接收推送通知(我的令牌,推送服务器都可以)。但是当应用程序运行时,我无法收到任何通知或警报。我应该使用func didReceiveRemoteNotification吗?(事实上,这个功能根本不起作用)

2 个答案:

答案 0 :(得分:1)

来自Local and Remote Notification Programming Guide的小部件:

当应用未在前台运行时,会发送通知。系统会显示通知,显示提醒,标记图标,可能播放声音,还可能显示一个或多个用户点按的操作按钮。

当应用程序在前台运行时会传递通知。应用程序调用UIApplicationDelegate方法应用程序:didReceiveLocalNotification:或application:didReceiveRemoteNotification:fetchCompletionHandler:。 (如果application:didReceiveRemoteNotification:fetchCompletionHandler:未实现,则系统调用application:didReceiveRemoteNotification:。)

因此,您需要在收到前台时自行处理通知。 This(Get push notification while App in foreground iOS)可能对您有所帮助。

答案 1 :(得分:1)

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:sApplicationName message:[NSString stringWithFormat:@"%@",[[userInfo objectForKey:@"aps"] objectForKey:@"alert"]]delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];

    [alertView show];
}