Как я могу протестировать Apple Push Notification Service без iPhone?

Возможно ли тестировать службы уведомлений Apple Push без приложения iPhone? (Создание эмулятора на windowsх?)

Если это не так, как я могу это проверить? Есть ли свободное приложение для образцов, скомпилированное для этого?

Я создал поставщика сервера, но мне нужно проверить функциональность.

(Этот ответ может быть устаревшим после 2013 года)

Извините, но вам нужно найти какое-то оборудование для тестирования этой функции.

Push-уведомления недоступны в симуляторе. Для них требуется профиль подготовки из iTunes Connect и, следовательно, они должны быть установлены на устройстве. Это также означает, что вам, вероятно, придется принять участие в программе разработчиков iPhone Apple и заплатить $ 99.

С яркой стороны, с обновлением iPhone OS 3.0, вы можете протестировать эту функциональность на любом устройстве, в том числе на iPhone первого поколения.

Вы не можете протестировать реальные push-уведомления. Тем не менее , вы можете протестировать ответ своего приложения на симулированное push-уведомление, создав один программный и ручный запуск вашего приложения AppDelegate - application:application didReceiveRemoteNotification:notification .

Чтобы вызвать это из другого classа (например, UIViewController):

 [[[UIApplication sharedApplication] delegate] application:[UIApplication sharedApplication] didReceiveRemoteNotification:testNotification]; 

TestNotification должен иметь тот же формат, что и реальное уведомление, а именно NSDictionary, содержащий объекты списка свойств плюс NSNull.

Вот пример того, как предоставить testNotification выше:

 NSMutableDictionary *notification = [[NSMutableDictionary alloc] init]; [notification setValue:@"Test" forKey:@"alert"]; [notification setValue:@"default" forKey:@"sound"]; NSMutableDictionary *testNotification = [[NSMutableDictionary alloc] init]; [testNotification setValue:notification forKey:@"aps"]; 

Это должно создать разумное уведомление NSDictionary для работы.

В настоящее время мы можем протестировать push-уведомления с помощью этой библиотеки .

Достаточно легко отправить push через терминал:

 echo -n '{"message":"message"}' | nc -4u -w1 localhost 9930 echo -n '{"aps":{"alert" : "message","badge" : 99,"sound" : "default"}, "myField" : 54758}' | nc -4u -w1 localhost 9930 

Симулятор не поддерживает Push Notifications.

И для того, чтобы нажимать с сервера, вы должны иметь устройство (ы), которое нужно нажать, а также ваше приложение на этом устройстве.

Токен содержит идентификатор приложения, а также идентификатор устройства.

вы должны использовать

 NSString *notificationString = @"{\"aps\":{\"alert\":\"Test alert\",\"sound\":\"default\"}}"; NSData *notificationData = [notificationString dataUsingEncoding:NSUTF8StringEncoding]; NSDictionary *testNotification = [NSJSONSerialization JSONObjectWithData:notificationData options:0 error:&error]; [[[UIApplication sharedApplication] delegate] application:[UIApplication sharedApplication] didReceiveRemoteNotification:testNotification fetchCompletionHandler:nil]; 
  • Как добавить точку останова в objc_exception_throw?
  • Преобразование NSArray в NSDictionary
  • Как установить получателей для UIActivityViewController в iOS 6?
  • Как перенести музыку с моего iPhone на компьютер?
  • iPhone: обнаружение бездействия пользователя / время простоя с момента последнего касания экрана
  • Рисование формы волны с помощью AVAssetReader
  • Обучение OpenGL ES 1.x
  • Преобразование NSString даты в NSDate
  • Может ли инструмент автоматизации пользовательского интерфейса запускаться из командной строки?
  • Предварительная буферизация для AVQueuePlayer
  • «Неверный» размер кадра / windows после переориентации в iPhone
  • Давайте будем гением компьютера.