当应用程序从后台删除时,Apple推送通知无法在ios 7上提供

时间:2013-12-30 05:11:33

标签: ios ios7 notifications apple-push-notifications

我在ios 7中使用以下代码尝试了静音Apple推送通知。应用程序处于前台或后台时收到推送通知。然后我通过从后台应用程序中滑动应用程序从后台删除应用程序。之后如果我从我的服务器发送推送通知,它会正确地发送到APN,但不会发送到iPhone。所以ios 7中的Apple推送通知只能在背景中运行静态推送通知应用程序?如果用户从后台删除应用程序,它是否会收到通知?

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
    NSString *receivedMessage = [[userInfo objectForKey:@"acme1"] objectForKey:@"mydata"];
    NSLog(@"fetchCompletionHandler receivedMessage -> %@",receivedMessage);
    completionHandler(UIBackgroundFetchResultNewData);
}

2 个答案:

答案 0 :(得分:0)

当应用程序无法运行时,

didReceiveRemoteNotification 未被调用,仅在应用程序打开和前台时调用。

如果应用未运行,您将收到UILocalNotification中的通知列表,并收到以下通知:

  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
       .........
       .........
       .........

     UILocalNotification *localNotif =[launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];
        if (localNotif) {

            NSLog(@"****** notifiation ******");
     }
       return YES;
   }

答案 1 :(得分:-1)

应用程序即使在应用程序关闭时也能够收到通知,即不在后台模式。