2011-11-23 11 views
10

abbiamo sviluppato un'applicazione che utilizza le notifiche push seguendo lo very good guide created by David Mytton.Notifica push Apple con un'applicazione aziendale

Il servizio push ha funzionato benissimo sul profilo di sviluppo. Ma ora che è finito, siamo passati al profilo di distribuzione dei clienti. L'applicazione è un'applicazione interna che utilizza un account Enterprise.

Abbiamo modificato il certificato sul server e abbiamo modificato l'URL di produzione come specificato nel tutorial. Abbiamo anche sostituito il profilo utilizzato durante la creazione dell'applicazione e l'ho installato sul tester iPhone. Tutto sembra funzionare sul server e nessun messaggio di errore viene restituito, ma la spinta non viene mai ricevuta su iPhone. Al momento siamo abbastanza incapaci e non sappiamo da dove iniziare il debugging. Abbiamo controllato che il tokenId venga aggiornato dopo aver sostituito il profilo.

Qualcuno ha esperienza in questo e potrebbe sapere cosa c'è che non va o da dove iniziare il debug? Grazie!

+2

Hai eliminato l'app del profilo di sviluppo dal tuo dispositivo prima di installare la build dell'app di produzione e assicurati che l'impostazione di notifica push sia abilitata per la tua app nell'app Impostazioni predefinite? – Deeps

+0

No, non ho cancellato il vecchio profilo dall'app, quindi grazie per il suggerimento!Purtroppo non ha aiutato:/E sì, le notifiche push sono abilitate per l'app nelle impostazioni. – Madoc

+0

Sono curioso di questo, perché Apple afferma che "il servizio Apple Push Notification (APNs) è disponibile solo per le app distribuite tramite iOS App Store o Mac App Store." (è ancora preciso?) a questo link https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ProvisioningDevelopment.html#//apple_ref/doc/uid/TP40008194- CH104-SW1 –

risposta

5

Non ho idea di che cosa era sbagliato qui, ma finalmente ho potuto farlo funzionare ..

Dopo ore di debug senza risultati ho gettato la spugna e ha creato un nuovo certificato sviluppatore, App ID, sertificate spinta e profilo di distribuzione. Ho pulito il progetto aggiunto il nuovo profilo e sostituito tutti i file sul server.

E ha funzionato! Nessun problema a tutti ... A volte Odio essere uno sviluppatore iPhone/di Apple: \

+4

Hai riavviato anche il tuo PC Windows? ;) A volte un flush risolve solo quelle cose che ti sei perso o che hai incasinato nel processo. Sempre frustrante ma sollevato alla fine. –

+0

Sì, infatti ho anche riavviato il pc :) – Madoc

3

Un paio di cose che si potrebbe provare:

  1. Assicurarsi che il telefono sia collegato ad una fonte di alimentazione (a volte non avendo questo fa sì che le notifiche di ritardo).

  2. Usare il seguente libreria PHP: si

http://code.google.com/p/php-apns/

Questo permette di eseguire il debug la comunicazione con il server e vedere dove si verifica l'errore. In particolare, consente di eseguire il debug se l'ID del token non è corretto.

  1. Si potrebbe provare a utilizzare un ID token non corretto sul server e vedere il comportamento. Confronta questo con l'utilizzo dell'ID token corretto.
+0

Grazie per il suggerimento. Proverò questo e vedrò se otterremo qualche informazione in più. – Madoc

0
  • Qualsiasi in-house profilo di distribuzione dà una stessa tokenID, come mai questo tokenID varia a seconda dei diversi dispositivi.
  • Altro unico problema potrebbe riguardare solo ProductionURL.
  • Ho anche notato che la ricezione delle notifiche push viene talvolta ritardata, soprattutto se utilizzata con l'URL di produzione.

Spero che questo aiuti.

Problemi correlati