VoIP push не доставляет на определенное устройство iOSIOS

Программируем под IOS
Ответить
Anonymous
 VoIP push не доставляет на определенное устройство iOS

Сообщение Anonymous »

Мы разрабатываем приложение для вызова VoIP. Мы используем Callkit и pushkit Frameworks. Пользователь недавно сообщил, что его iPhone больше не получает Callkit , но несколько дней назад это работало. Обратите внимание, что изменяемый push работает на его устройстве. Мы собрали журналы консоли устройства и узнали, что устройство не получило полезную нагрузку VoIP.

Код: Выделить всё

Device Model: iPhone Xs
iOS version: 15.6.1
Network Connectivity: Wifi
Вот как мы зарегистрировали pushkit

Код: Выделить всё

    private func registerForVoIPPushes() {
self.voipRegistry = PKPushRegistry(queue: pushRegistryQueue)
self.voipRegistry.delegate = self
self.voipRegistry.desiredPushTypes = [.voIP]
}
Мы соответствуем pkpushregistrydelegate Таким образом

Код: Выделить всё

extension AppDelegate: PKPushRegistryDelegate {
func pushRegistry(_ registry: PKPushRegistry, didUpdate pushCredentials: PKPushCredentials, for type: PKPushType) {
let deviceToken = pushCredentials.token.map { String(format: "%02x", $0) }.joined()
updateVoIPToken(deviceToken)
}

func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType, completion: @escaping () -> Void) {
DDLogDebug("Incoming call voip push: \(payload.dictionaryPayload)")
handleIncomingCall(payload: payload.dictionaryPayload)
completion()
}

func pushRegistry(_ registry: PKPushRegistry, didInvalidatePushTokenFor type: PKPushType) {
DDLogDebug("didInvalidatePushTokenFor type: \(type)")
}
}
Так сервер отправляет Voip push powerload

Код: Выделить всё

path = '/3/device/{0}'.format({deviceToken}})

request_headers = {
'apns-expiration': '0',
'apns-priority': '10',
'apns-topic': 'com.companyname.app.voip',
'apns-push-type':'voip',
'authorization': 'bearer {auth-token}'
}

# Open a connection the APNS server
conn = HTTP20Connection('api.push.apple.com:443')
conn.request(
'POST',
path,
payload,
headers=request_headers
)
resp = conn.get_response()
print(resp.status)
print(resp.read())
Код состояния выхода HTTP показывает 200 , но на самом деле не будет доставлен.>

Подробнее здесь: https://stackoverflow.com/questions/740 ... ios-device
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»