2016-01-18 23 views
10

Sto sviluppando un'applicazione VoIP per iPhone. Per ricevere chiamate, Apple ha sviluppato PushKit in modo che gli sviluppatori possano inviare notifiche VoIP utilizzando APNS.Apple PushKit didUpdatePushCredentials non viene mai chiamato su iOS 9+

Tutto funzionava bene su iOS 8. Quando ho aggiornato a iOS 9, lo PKRegistryDelegate non attiva il metodo didUpdatePushCredentials dopo la registrazione.

Qualche idea/suggerimento?

+0

Hai mai capire che cosa stava succedendo? – stevel

+0

Ho dimenticato qual era il problema. Ma un problema che ho dovuto affrontare è che Apple utilizza due diversi tipi di server APNS per spingere i token: uno per gli ambienti di sviluppo e uno per gli ambienti di produzione. Quindi, se stai provando da Xcode, assicurati sul server che stai utilizzando: gateway.sandbox.push.apple.com 2195 e non: gateway.push.apple.com 2195 – Pacemaker

+0

Fammi sapere se hai bisogno di più aiuto – Pacemaker

risposta

13

Abilitare il flag "Notifica push" da Project-> Capabilities ha risolto il problema. È strano perché non funzionava prima. Questa risposta potrebbe essere in ritardo, ma spero che questo aiuti qualcuno. Ho avuto difficoltà a capirlo.

+0

Questo è strano, anche i documenti Apple non dicono nulla al riguardo. – GameBegins

+0

Abbiamo bisogno di configurare l'app per la notifica Push anche per ottenere VoIP Push? Apple doc non menziona nient'altro che il certificato VoIP. @ Vin25, @GameBegins –

+0

Lo stesso lavoro anche per me, ma nessuno sa perché PushNotificaiton debba essere ON. mentre non lo usiamo.? –

0

Per me era il problema dei certificati. Il certificato di sviluppo è stato utilizzato dalla mia app, non ha configurato l'invio di tali certificati. Spero che questo possa aiutare nessuno ..

3

Se stai utilizzando un nuovo xcode (sono su xcode 9), VOIP non si trova nella sezione Background nella scheda Capabilities. Ciò impedirà di chiamare didUpdatePushCredentials!

Il trucco è che devi andare nel tuo plist, e in Required Background Modes è necessario aggiungere App provides Voice over IP services.

enter image description here

1

Così ho avuto anche questo problema, e ha trascorso due giorni tirando fuori i miei capelli. Ho fatto tutti questi:

  • pulito progetto chiavi in ​​modalità/off sfondo
  • accendere/spegnere le notifiche push
  • riavvio x-codice
  • riavvio del computer
  • rimosso app dal dispositivo
  • clean/Library/Developer/DerivedData
  • quindi revocherei tutti i certificati, rimosso tutti i profili di provisioning. Li ho rimossi anche dal mio portachiavi. Creato di nuovo tutto e reinstallato in keychain e xcode.

Tutto questo non ha aiutato.

Quindi, per qualche ragione ho pensato, cosa succede se ho appena girare il mio telefono, con cui stavo testando, spento e acceso di nuovo.

e poi ha funzionato ...

Problemi correlati