Push-уведомления в Mavericks iOS Simulator

Я ничего не могу найти об этом, и я никогда ничего не делал с push-уведомлениями (но я смутно знаю, как они работают). В Mavericks, теперь, когда OS X может получать push-уведомления от различных вещей, таких как веб-сайты, может ли iPhone Simulator получать push-уведомления? Я нашел много ответов с середины 2013 года и ранее, говоря "нет", но все они устарели, потому что Mavericks был недавно выпущен с новыми функциями push.

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

6 ответов


нет, по-прежнему нет API для поддержки push-уведомлений в симуляторе. Вам придется использовать устройство.


iOS 8 и Xcode 6 действительно добавили некоторую дополнительную интеграцию для push-уведомлений. Если вы выберете iPhone 6 или iPhone 6 Plus simulator, ваше приложение теперь появится в разделе "Настройки" с полнофункциональным экраном настроек уведомлений (см. прилагаемый) и отобразит модальное приложение при запросе разрешений push-уведомлений в первый раз. Это справедливо только для iPhone 6 и iPhone 6 Plus тренажеры.

Screenshot 2

Screenshot 1

Screenshot 3

однако в iOS 8 вы все равно получите сообщение в консоли, поскольку "удаленные уведомления не поддерживаются в симуляторе", и поэтому вам нужно использовать только устройство.

Screenshot 4


несмотря на то, что iPhone 6 и iPhone 6+ симуляторы имеют настройки для push-уведомлений и даже показывают вам приглашение push-уведомлений, попытка зарегистрироваться для push-уведомлений от симулятора по-прежнему не удается с Error Domain=NSCocoaErrorDomain Code=3010 "remote notifications are not supported in the simulator" UserInfo=0x7fc786b4af90 {NSLocalizedDescription=remote notifications are not supported in the simulator}. Таким образом, ваш лучший выбор-использовать устройство.


Если вы хотите имитировать push-уведомления в симуляторе iOS, вы можете использовать эту библиотеку:https://github.com/acoomans/SimulatorRemoteNotifications


обновление XCode8 GM Release

Log: Push-уведомления теперь терпят неудачу со старым навязчивым стихотворением:

remote. 
notifications are not.
supported in the simulator.

теперь я сомневаюсь в себе и своем здравомыслии. Эта особенность, на которую я давно надеялся и на короткое мгновение держал в руке, или мне так показалось. Неужели все это только сон? Кто-нибудь из нас действительно здесь?

Оригинальное Сообщение

как бета iOS10 (Xcode версии бета 8.0 (8S128d)), тренажеры кажутся получение Push-уведомлений. Обратите внимание, что хотя до iOS10 устройства могли получать местные уведомления они не получили пуш уведомления.

у меня нет официального источника на этот счет, просто анекдотично, функции, основанные на push-уведомления, которые раньше не получится, сейчас сменив на iPhone 5, 5С, 6, 6+ тренажеры.

Я также проверил, что мы попали в блок регистрации в AppDelegate.

- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings {
  NSLog(@"Successfully registered!");
  doSomething(notificationSettings);
}

С нетерпением ждем использования удаленных уведомлений в симуляторе, когда выйдет iOS 10.

тем временем я использую командную строку Xcode для проверки поведения уведомлений:

p [((CustomAppDelegateClass *)((UIApplication *)[UIApplication sharedApplication]).delegate) application:[UIApplication sharedApplication] didReceiveRemoteNotification:@{@"aps": @{@"alert": @"Alert Message"}, @"info": @{@"object": @"value"}}];