我将10行消息发送到APNS。当应用程序处于后台时,我会收到所有消息。 但是当应用程序处于前台时,我会收到8个通知。
这里有什么问题?
这是我的代码非常简单:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
NSLog(@"Test push...");
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeSound|UIRemoteNotificationTypeNone)];
[self checkForRegisteredUser];
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
return YES;
}
答案 0 :(得分:0)
不确定这是你想要的,
以下是推送通知的工作原理,
因此,当您的应用程序在后台运行时,您的应用程序将永远不会收到来自APN的推送通知,但是当它们从服务器发送消息时,它将显示在您的通知托盘中。
但是如果你的应用程序在前台。 app app delegate中的方法
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
将收到通知,并将执行您在其中定义的必要操作。
如果您没有收到通知,则需要检查网络连接。
我开发了一个类似于你的应用程序,它的效果与你期望的一样好。