Я хотел бы реализовать сервис PushKit в своем приложении (приложение Voip), но у меня есть следующие сомнения: я вижу, что я могу генерировать только производственный сертификат voip, он работает, если я пытаюсь проверить службу уведомления voip push для разработки устройства
Это мой тест внедрения:
С помощью этой 3 строки кода я могу получить токен на обратном вызове didUpdatePushCredentials, который я использую для сохранения на моем сервере.
PKPushRegistry *pushRegistry = [[PKPushRegistry alloc] initWithQueue:dispatch_get_main_queue()];
pushRegistry.delegate = self;
pushRegistry.desiredPushTypes = [NSSet setWithObject:PKPushTypeVoIP];
На стороне сервера я генерирую "обычное" push-сообщение полезной нагрузки только с предупреждающим текстом, и я отправил токен voip, сохраненный на моем сервере.
Я использую обратный вызов с журналом отладки, но они никогда не вызываются!
- (void)pushRegistry:(PKPushRegistry *)registry didInvalidatePushTokenForType:(NSString *)type {
NSLog(@"didInvalidatePushTokenForType");
}
-(void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload forType:(NSString *)type {
NSLog(@"didReceiveIncomingPushWithPayload: %@", payload.description);
}
-(void)pushRegistry:(PKPushRegistry *)registry didUpdatePushCredentials:(PKPushCredentials *)credentials forType:(NSString *)type {
if([credentials.token length] == 0) {
NSLog(@"voip token NULL");
return;
}
NSLog(@"didUpdatePushCredentials: %@ - Type: %@", credentials.token, type);
}
Если я попытаюсь создать push-уведомление с моего сервера, чтобы отправить ранее загруженный токен устройства, я никогда не уведомляюсь о обратном вызове didReceiveIncomingPushWithPayload, но с сервера я получаю сообщение 200 ok (сообщение было успешно отправлено)