Как я могу протестировать службу Push-уведомлений Apple без iPhone?

StackOverflow https://stackoverflow.com/questions/1080556

  •  22-08-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

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

Другие советы

Вы не можете протестировать реальные 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 уведомлений для работы.

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

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

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

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

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

Да, вы можете проверить push-уведомление в симуляторе, но вы должны использовать библиотеку в своем приложении с именем Уведомления Симуляторарезультаты.С помощью которого, выполнив всего 4-5 шагов, вы можете протестировать push-уведомление на симуляторе.

Они также предоставляют капсулы тоже

pod 'SimulatorRemoteNotifications', '~> 0.0.3'
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top