98 votes

Comment puis-je tester le service de notification Apple Push sans iPhone?

Est-il possible de tester Apple Push Notification Services sans application iPhone? (Création d'un émulateur sur Windows?)

Si ce n'est pas le cas, comment pourrais-je tester cela? Existe-t-il un exemple d'application gratuite compilé pour le faire?

J'ai créé le fournisseur de serveur, mais j'ai besoin de tester la fonctionnalité.

85voto

casademora Points 15214

Désolé de le dire, mais vous aurez besoin de trouver un peu de matériel pour tester cette fonctionnalité.

Les notifications Push ne sont pas disponibles dans le simulateur. Ils exigent un profil de configuration à partir d'iTunes Connect, et sont donc requis pour être installé sur un appareil. Cela signifie également que vous aurez probablement à être accepté dans l'iPhone d'apple developer program et de payer $99.

Sur le côté positif, avec l'iPhone OS 3.0 mise à jour, vous pouvez tester cette fonctionnalité sur n'importe quel appareil, y compris la première gen iphone.

60voto

Jamon Holmgren Points 7176

Vous pouvez pas test réel les notifications push. Cependant, vous pouvez tester votre application réponse à une simulation de notification push en créant un par programme et manuellement le déclenchement de votre AppDelegate de l' - application:application didReceiveRemoteNotification:notification méthode.

Pour déclencher ce à partir d'une autre classe (comme un UIViewController):

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

Le testNotification doivent avoir le même format qu'une notification réelle, à savoir un NSDictionary qui contient la liste des propriétés des objets plus NSNull.

Voici un exemple de la façon de fournir l' testNotification ci-dessus:

NSDictionary *testNotification = [NSJSONSerialization
            JSONObjectWithData:@"{'aps':{'alert':'Test alert','sound':'default'}}"
                       options:0
                         error:nil];

Cela devrait créer un avis NSDictionary de travailler avec.

Ou simplement l'utiliser RubyMotion où ce genre de choses est beaucoup plus facile par l'intermédiaire de la REPL. ;)

32voto

kaspartus Points 628

De nos jours, nous pouvons tester les notifications push avec cette bibliothèque .

Il est assez facile d'envoyer push via un terminal:

 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
 

3voto

user2894794 Points 11

vous devez utiliser

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X