/>
Код: Выделить всё
- (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);
}
С тем же кодом это работало на iOS 6, но с новым методом iOS 7 он ведет себя не так, как я хочу.
Изменить: Я пытаюсь запустить приложение сейчас на iOS 7, и мы не поддерживаем версии до iOS 7. Я использовал эту тот же самый точный код в версии метода iOS 6 (без обработчика завершения), и он вел себя так, как я ожидал. Вы проведете по уведомлению, и это будет вызвано. Если вы открыли значок, метод никогда не будет вызван.
Подробнее здесь: https://stackoverflow.com/questions/220 ... s-push-not