2017-10-10 14 views
0

J'essaye de configurer un PKPushRegistry pour pouvoir recevoir des push de service VOIP mais mes délégués ne tirent pas. Je suis de retour avec succès un devicetoken donc je sais que la première partie du processus fonctionne. En outre, mon serveur a les certificats appropriés pour les deux types de poussées.Les méthodes de délégation des services Voip (PKPush) ne sont pas appelées

class AppDelegate: UIResponder, UIApplicationDelegate, PKPushRegistryDelegate { 

    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { 

      self.voipRegistration() 
    } 

    func voipRegistration() { 
     let mainQueue = DispatchQueue.main 
     let voipRegistry: PKPushRegistry = PKPushRegistry(queue: mainQueue) 
     voipRegistry.delegate = self 
     voipRegistry.desiredPushTypes = [PKPushType.voIP] 
    } 


    func pushRegistry(_ registry: PKPushRegistry, didInvalidatePushTokenFor type: PKPushType) { 
     // 
    } 

    func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType) { 
     // 
    } 

    func pushRegistry(_ registry: PKPushRegistry, didUpdate pushCredentials: PKPushCredentials, for type: PKPushType) { 
     // 
    } 


    func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType, completion: @escaping() -> Void) { 
     // 
    } 

Répondre

2

Apple a pris la VoIP sur les modes fond alors j'ai ajouté manuellement et il a travaillé

<key>UIBackgroundModes</key> 
<array> 
    <string>audio</string> 
    <string>voip</string> 
    <string>fetch</string> 
    <string>remote-notification</string> 
</array>