DidReceiveRemoteNotification: fetchCompletionHandler: открыть с помощью значка или push-уведомленияIOS

Программируем под IOS
Anonymous
DidReceiveRemoteNotification: fetchCompletionHandler: открыть с помощью значка или push-уведомления

Сообщение Anonymous »

Я пытаюсь реализовать обработку фоновых push-уведомлений, но у меня возникают проблемы с определением того, открыл ли пользователь приложение с помощью отправленного push-уведомления, а не с помощью значка.
/>

Код: Выделить всё

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

//************************************************************
// I only want this called if the user opened from swiping the push notification.
// Otherwise I just want to update the local model
//************************************************************
if(applicationState != UIApplicationStateActive) {
MPOOpenViewController *openVc = [[MPOOpenViewController alloc] init];
[self.navigationController pushViewController:openVc animated:NO];
} else {
///Update local model
}

completionHandler(UIBackgroundFetchResultNewData);
}
С помощью этого кода приложение открывается в MPOOpenViewController независимо от того, как пользователь открывает приложение. Как я могу сделать так, чтобы контроллер представления нажимался только в том случае, если они открывают приложение, проведя уведомление?

С тем же кодом это работало на iOS 6, но с новым методом iOS 7 он ведет себя не так, как я хочу.

Изменить: Я пытаюсь запустить приложение сейчас на iOS 7, и мы не поддерживаем версии до iOS 7. Я использовал эту тот же самый точный код в версии метода iOS 6 (без обработчика завершения), и он вел себя так, как я ожидал. Вы проведете по уведомлению, и это будет вызвано. Если вы открыли значок, метод никогда не будет вызван.

Подробнее здесь: https://stackoverflow.com/questions/220 ... s-push-not

Вернуться в «IOS»