2017-10-10 17 views
0

私はVOIPサービスプッシュを受信することができますが、代理人は発砲しないようにPKPushRegistryを設定しようとしています。私は正常にdevicetokenを取得するので、私はプロセスの最初の部分が動作していることを知っている。また、私のサーバーには、両方の種類のプッシュに対する適切な証明書があります。Voipサービス(PKPush)デリゲートメソッドが呼び出されていない

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) { 
     // 
    } 

答えて

2

私はそれを手動で追加してAppleは、バックグラウンドモードのうち、VOIPを取り、それが

<key>UIBackgroundModes</key> 
<array> 
    <string>audio</string> 
    <string>voip</string> 
    <string>fetch</string> 
    <string>remote-notification</string> 
</array> 
を働きました
関連する問題