J'ai été très très difficile d'essayer de créer une simple application iOS qui peut recevoir des notifications push. Ma seule raison de faire ceci est d'établir une procédure pour certains autres membres de l'équipe à utiliser, et n'ont pas été en mesure de trouver une mise à jour, la version de telles instructions ailleurs sur le web. Notre boutique est assez nouvelle pour iOS dev, personnellement, je suis complètement pas d'expérience avec les dev iOS et Xcode. J'ai trébuché à travers des dizaines de tutoriels, des articles, et de la difficulté des postes d'Apple et d'ailleurs, et je sens que je pourrais être à peu près là...
C'est ici que je dois (remarque je suis en utilisant Xcode 4.3 et en essayant d'abord de déployer juste pour iOS 5.1, et je suppose que certaines choses peuvent avoir changé récemment contre des versions antérieures de Xcode, mais encore une fois je suis nouveau à tout cela, et de trouver qu'il est complètement déroutant et alambiqué):
1) j'ai un profil de configuration sur mon iPhone qui a Push activé
2) Dans mon test Xcode projet que j'ai un profil de configuration sélectionné comme la signature de l'identité (dans les Paramètres de construction de la > Signature de Code)
3) j'ai mon identifiant de lot en vertu de la Synthèse et de l'Info > Custom iOS Cible définir les Propriétés correctement* (je crois??)
4) j'ai des registerForRemoteNotificationTypes être appelé dans mon délégué didFinishLaunchingWithOptions
5) j'ai didRegisterForRemoteNotificationswithdevicetoken et didFailToRegisterForRemoteNotificationswitherror dans mon délégué, mis en place pour connecter l'appareil à un jeton ou une erreur, respectivement
6) j'ai Activer les Droits contrôlés dans le Résumé.
7) juste en dessous de laquelle les Droits du Fichier sélectionné est Tinker6 (le nom de mon projet de test), qui a été généré automatiquement quand j'ai coché la case Activer les Droits
8) Dans le Tinker6.les droits du fichier, j'ai eu la suivante (que j'ai rassemblés juste en fonction de différents posts sur le web, mais que je ne peux pas trouver quelque chose de définitif d'Apple lui-même):
Mise à jour
9) j'ai Également essayé de l'ensemble de la chose sans les droits du fichier, et obtenir essentiellement le même résultat.
10) Mon fichier mobileprovision contenu incluent correctement (j'ai codé le nombre et le domaine, mais structurellement les mêmes):
<key>application-identifier</key>
<string>12355456A7.com.whatever.tinker</string>
<key>aps-environment</key>
<string>development</string>
<key>get-task-allow</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>12355456A7.*</string>
</array>
/mise à jour de fin
Lorsque je tente de l'exécuter sur mon appareil, j'obtiens l'erreur suivante dans Xcode de sortie:
2012-06-11 12:45:23.762 Tinker6[13332:707] Failed to get token, error:
Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment'
entitlement string found for application" UserInfo=0x24a3b0
{NSLocalizedDescription=no valid 'aps-environment' entitlement string
found for application}
J'ai essayé paramètre get-tâche-NON, aps-environnement de la production, tous les quatre combinaisons possibles, la même chose.
Comment puis-je obtenir passé ce? Où est la documentation définitive sur ce point?
-- de plus amples informations suivantes --
*En ce qui concerne le bundle id, je ne suis toujours pas clair sur la façon dont cela devrait être mis en rapport avec les Id d'Application et le Profil d'id dans le profil de configuration. Dans le Provisioning portal en vertu de l'Id d'Application, j'ai ceci (encore une fois, brouillés, le nombre et le domaine):
Et les deux endroits id est réglé, j'ai ceci:
Je ne suis pas du tout sûr que ceux-ci sont corrects, ou si un ou les deux doivent être mis à 12355456A7.com.quoi que ce soit.bricoleur, mais j'ai essayé ceux plus tôt dans le processus, sans succès...
Note que j'ai réaliser il y a beaucoup de messages avec des titres similaires, mais ils semblent tous être en dehors de la date basée sur les noms de fichier, et ainsi de suite donné, et le fait aucun de ces solutions semblent être utiles. Je suis en espérant que le plus grand niveau de détail que je vous ai donné garantit une réponse de qualité. Je vais probablement attribuer une prime dès que possible et si vous donnez une haute qualité de la réponse qui conduit à une solution je vais la récompense ainsi que la promotion de votre réponse via twitter et mon blog. Surtout si vous crosspost post vraiment une bonne "voici l' exacte 500 étapes que vous avez besoin pour obtenir une simple notification push d'application de travail, y compris le dimensionnement et tout le reste" de l'article sur votre blog ou quoi que ce soit.