我在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);
}
答案 0 :(得分:0)
didReceiveRemoteNotification 未被调用,仅在应用程序打开和前台时调用。
如果应用未运行,您将收到UILocalNotification
中的通知列表,并收到以下通知:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
.........
.........
.........
UILocalNotification *localNotif =[launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];
if (localNotif) {
NSLog(@"****** notifiation ******");
}
return YES;
}
答案 1 :(得分:-1)
应用程序即使在应用程序关闭时也能够收到通知,即不在后台模式。