Как я могу протестировать службу Push-уведомлений Apple без iPhone?
-
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'