Когда iOS8.2-приложение работает в фоновом режиме, он не получает никакого уведомления толчка,CloudKit Push Notification, приложение работает на фоне
в то время как, если он работает на переднем плане, он получает уведомление толчка мелкого ,
Любая идея, что происходит?
Запуск в режиме CloudKit Development
, подписка для добавления, редактирования, и удаления, а также с использованием следующих didReceiveRemoteNotification
:
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
NSLog(@"Push received.");
NSDictionary * apsDict = [userInfo objectForKey:@"aps"];
NSString * alertText = [apsDict objectForKey:@"alert"];
//TODO: get the record information from the notification and create the appropriate message string.
if(application.applicationState == UIApplicationStateActive) {
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Notification" message:alertText delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles: nil];
[alert show];
} else {
if([application currentUserNotificationSettings].types & UIUserNotificationTypeAlert) {
UILocalNotification * localNotification = [[UILocalNotification alloc] init];
localNotification.alertBody = NSLocalizedString(@"alert body", nil);;
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:2];
[application presentLocalNotificationNow:localNotification];
}
}
completionHandler(UIBackgroundFetchResultNoData);
}
Hi @Edwin yes Фоновая выборка и удаленные уведомления включены. Что-нибудь еще очевидное, что может быть пропущено? – Porton
В вашей подписке вы отправляете alertBody или alertLocalizationKey для CKNotificationInfo? Затем вы уже получите уведомление от ОС, и вам не нужно настраивать локальное уведомление. Но тогда все же должны были появиться уведомления. Особенно, когда вы говорите, что они приходят, когда приложение активно. –
Вы зарегистрированы для всех типов? см. дополнительный комментарий в awnser –