web-dev-qa-db-fra.com

Développement APNS iOS [bac à sable] vs production

Les gars, j'ai du mal à comprendre les principales différences entre les modes développeur (sandbox) APNS (notification push) et production. J'ai en particulier les questions suivantes:

1) Puis-je lancer une application sur l'App Store avec des notifications push qui n'est enregistrée que pour le certificat de développeur APNS? Ou dois-je utiliser pour utiliser APNS Production pour les applications que je souhaite lancer sur l'App Store?

2) En général, quelles sont les raisons fonctionnelles autres que "développement sur développement APNS" et "production sur production APNS" qui pourraient éclairer ma décision. En particulier, pourquoi choisirais-je d'implémenter un certificat de développeur APNS pour mon application et pourquoi ne pas tout exécuter sur un compte Production Push?

Voici ce que Apple dit sur son site Web, mais cela ne va pas au cœur de ma question:

Développement: Utilisez l'environnement de développement pour le développement initial et les tests de l'application du fournisseur. Il fournit le même ensemble de services que l'environnement de production, mais avec un plus petit nombre d'unités de serveur. L'environnement de développement agit également comme un périphérique virtuel, permettant des tests simulés de bout en bout. Vous accédez à l'environnement de développement sur gateway.sandbox.Push.Apple.com, outbound TCP port 2195.

Production: Utilisez l'environnement de production lors de la création de la version de production de l'application du fournisseur. Les applications utilisant l'environnement de production doivent répondre aux exigences de fiabilité d'Apple.

41
Eugene

Si vous souhaitez publier votre application sur l'App Store, vous devrez utiliser un profil d'approvisionnement de production.Par conséquent, toutes les notifications envoyées avec le certificat de développeur APNS n'arriveront pas à votre application signée avec un profil d'approvisionnement de production.

Pourquoi ne pas utiliser uniquement un certificat APNS de production? Eh bien, vous pouvez le faire mais ...

  • Afin de tester, vous devrez créer votre avec un profil d'approvisionnement de production ad hoc, cela représente beaucoup de travail supplémentaire pour la compilation
  • À l'aide d'un certificat de production en développement, et donc à l'aide d'une génération ad-hoc, vous ne pouvez pas exécuter avec le débogueur. Rend le dépannage très douloureux.
  • Les notifications de test permettent de tout mettre en production, vous devez donc être extrêmement prudent
31
dminones

la réponse de dminones est très précise. Je tiens à souligner que vous pouvez désormais utiliser le certificat de production en cours de développement. La différence est que vous enverrez à "gateway.sandbox.Push.Apple.com" pour le développement et "gateway.Push.Apple.com" pour la production. Je pense que la raison de la séparation du bac à sable et de la production est d'éviter d'envoyer des notifications push de test à de vrais utilisateurs. Imaginez que vous fassiez des notifications, tous vos utilisateurs auront la notification.

11
Terry Tan