Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Чтобы инициировать это из другого класса (например, 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 для работы с.

Ответ 3

В настоящее время мы можем протестировать 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

Ответ 4

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

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

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

Ответ 5

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

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];