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