2016-01-18 28 views
10

Rozwijam aplikację VoIP na iPhone'a. Aby odbierać połączenia, Apple opracował PushKit, aby programiści mogli wysyłać powiadomienia VoIP za pomocą APNS.Apple PushKit didUpdatePushCredentials nigdy nie jest wywoływany w systemie iOS 9+

Wszystko działało poprawnie na iOS 8. Po aktualizacji do iOS 9, PKRegistryDelegate nie wywołuje metody didUpdatePushCredentials po rejestracji.

Wszelkie pomysły/sugestie?

+0

Czy kiedykolwiek zastanawiałeś się, co się dzieje? – stevel

+0

Zapomniałem o co chodzi. Ale moim problemem było to, że Apple używa dwóch różnych typów serwerów APNS do wysyłania tokenów: Jeden dla środowisk programistycznych i jeden dla środowisk produkcyjnych. Więc jeśli testujesz z Xcode, upewnij się, że używasz serwera: gateway.sandbox.push.apple.com 2195 , a nie: gateway.push.apple.com 2195 – Pacemaker

+0

Daj mi znać, jeśli potrzebujesz więcej pomocy – Pacemaker

Odpowiedz

13

Włączenie flagi "Powiadom powiadomień" z Project-> Capabilities rozwiązało mój problem. To dziwne, ponieważ działało bez niego wcześniej. Ta odpowiedź może być spóźniona, ale mam nadzieję, że to pomoże komuś. Trudno było mi to rozgryźć.

+0

To jest dziwne, nawet doktorzy Apple nic nie powiedzieli na ten temat. – GameBegins

+0

Czy musimy skonfigurować aplikację do powiadomienia Push, aby uzyskać Push VoIP? Apple doc nie wspomina niczego poza certyfikatem VoIP. @ Vin25, @GameBegins –

+0

To samo dotyczy również mnie, ale każdy wie, dlaczego PushNotificaiton musi być włączony. a my go nie używamy.? –

0

Dla mnie To była kwestia Certyfikatów. Certyfikat programistyczny został użyty przez moją aplikację, nie skonfigurowano wypychania tych certyfikatów. Mam nadzieję, że to może pomóc nikomu ..

3

Jeśli używasz nowszego xcode (jestem na xcode 9), to VOIP nie jest w sekcji Tło na karcie Możliwości. Zapobiegnie to wywoływaniu didUpdatePushCredentials!

Sztuką jest, że musisz iść w swoim pliście, aw Required Background Modes musisz dodać App provides Voice over IP services.

enter image description here

1

Więc miałem tego problemu, jak również i spędził dwa dni ciągnięcie moich włosów. Zrobiłem wszystko z nich:

  • czysty kolej projekt na trybów/off tła
  • włączyć/wyłączyć powiadomień push
  • restart x-kod
  • komputer restart
  • usunięta aplikacja z urządzenia
  • cleaned/Library/Developer/DerivedData
  • następnie wycofałbym wszystkie certyfikaty, usunięto wszystkie profile obsługi administracyjnej. Usunięto je nawet z mojego pęku kluczy. Stworzyłem wszystko ponownie i zainstalowałem ponownie w pęku kluczy i kodzie Xcode.

Wszystko to nie pomogło.

Następnie, z jakiegoś powodu pomyślałem, co jeśli po prostu włączam mój telefon, który testowałem, wyłączając i ponownie.

a następnie zadziałało ...