12

Sto costruendo un'app per iOS che utilizza le notifiche push e sono finalmente pronto a inviarlo. Prima di farlo, vorrei provare le notifiche push dal server di produzione, per assicurarmi che tutto funzioni correttamente. Finora, l'ambiente sandbox ha funzionato bene.Profili di provisioning + Notifiche push + Produzione e sviluppo

Dopo aver fatto un po 'di ricerca, ho imparato che il passaggio dei server sopra ssl://gateway.sandbox.push.apple.com:2195-ssl://gateway.push.apple.com:2195 non era abbastanza, e che i gettoni di produzione di spinta sono diversi da gettoni sandbox push. Invece, a quanto pare ho bisogno di un nuovo profilo di provisioning con diritti di produzione, nuovi certificati installati sul mio server e di ricostruire la mia app con detto profilo in modo che sappia creare i token di push corretti.

Quindi, dopo aver eseguito tutti i passaggi, non riesco nemmeno a far funzionare una build sul mio telefono; XCode dice

Questo profilo non può essere installato su dispositivi

Questi sono i passi che ho preso. Se mi manca qualcosa per favore fatemelo sapere:

  • Nel mio iOS Developer Center, ho fatto in modo che il mio AppID è "abilitato per la produzione di" sotto il servizio Apple Push Notification.

  • Anche nel mio Centro per sviluppatori iOS, ho creato il certificato SSL Push di produzione, ho eseguito i passaggi di conversione necessari e installato il risultato .pem sul mio server.

  • Per le istruzioni, ho creato "un nuovo profilo di provisioning contenente l'ID app che si desidera utilizzare per le notifiche". L'ho fatto andando al Provisioning, facendo clic sulla scheda "Distribuzione" e creando un nuovo profilo. Ho confermato che "produzione" è impostata nella sezione "diritti" di questo profilo.

  • Ho selezionato il profilo di provisioning nelle impostazioni del mio progetto. Ottengo il messaggio

    Questo profilo non può essere installato su dispositivi

    e mi sono bloccato.

+1

Con l'aggiunta di Apples Testflight è ora possibile testare le notifiche push di produzione prima di andare in diretta. È sufficiente caricare una build e modificare il certificato in produzione. (Indicare anche Apples live push not sandbox) – AMAN77

risposta

14

Non è possibile installare un app compilato con un profilo di distribuzione AppStore (produzione) su un dispositivo. Solo i revisori di Apple possono farlo. puoi testare solo push su un'app compilata in modalità sviluppo e utilizzando il server sandbox. Se si desidera testare i server di produzione, è necessario compilare l'app utilizzando un profilo di distribuzione AdHoc che abilita i dispositivi su cui si desidera eseguire il test. Chiaramente è necessario ricompilare e inviare l'app per la revisione utilizzando il profilo di distribuzione di App Store.

+0

Ho scoperto che è possibile installare un'app creata in Xcode con il profilo di distribuzione App Store (sotto il profilo Debug). Tuttavia, il debugger non dovrebbe allegare (che è previsto per un build di App Store).Detto questo, sono stato in grado di avviare l'app sull'iPad e testare l'impostazione della notifica push di produzione in questo modo. – penfold

+0

Mi sembra strano. È vero che puoi farlo con un profilo di distribuzione AdHoc, ma mi sembra strano che tu possa fare lo stesso con un profilo di App Store. Stai usando un dispositivo Jailbroken? – viggio24

+0

No, non jailbroken, anche se è possibile mi sono confuso come è facile da fare. :-) Leggendo di nuovo il mio commento ora, sembra improbabile che tu possa eseguire un'app che non ha l'UDID nel profilo ... forse era ancora costruita con un profilo Ad Hoc e ha ricevuto ancora notifiche push dalla produzione servizio? – penfold

31

Costruisci una versione di distribuzione ad-hoc della tua app e installala sul tuo dispositivo. Questo utilizzerà il gateway APN e i certificati di produzione.

+0

Anche una buona risposta, grazie Alex. – Chazbot

Problemi correlati