VoIP Push не работает для iOS SDK Demo
Я разрабатываю iOS SDK с VoIP PushKit. А вот код в SDK при получении push-уведомления
- (void)onReceiveMessagecontent:(NSString *)content{
if (content && ![content isEqualToString:@""]) {
if ([[WalkieTalkie sharedWT].delegate respondsToSelector:@selector(onPushMessage:)]) {
[[WalkieTalkie sharedWT].delegate onPushMessage:content];
}
}
}
Вот код в SDK Demo MainViewController.m, где будет вызван делегат:
- (void)onPushMessage:(NSString *)messageContent{
NSString *content = [NSString stringWithFormat:@"on recive push message: %@", messageContent];
if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateActive) {
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"收到推送" message:content preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *cancelButton = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
[alert addAction:cancelButton];
[self presentViewController:alert animated:YES completion:nil];
} else{
dispatch_async(dispatch_get_main_queue(), ^{
UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];
notification.alertBody = content;
notification.timeZone = [NSTimeZone defaultTimeZone];
notification.soundName = UILocalNotificationDefaultSoundName;
notification.applicationIconBadgeNumber = 1;
[[UIApplication sharedApplication] scheduleLocalNotification:notification];
});
}
}
Когда приложение активно, UIAlertController работает хорошо, но когда я убиваю приложение, оно переходит в фоновый режим, UILocalNotification никогда не срабатывает. Однако я вижу журнал некоторых устройств из XCode, который доказывает, что удаленное уведомление уже было вызвано, и запускает строку кода:[[WalkieTalkie sharedWT].delegate onPushMessage:content];
в SDK. Но демо-приложение просто ничего не показывает, никакой реакции. Я поместил коды делегатов в неправильное место? Или только SDK активен, а приложение все еще в фоновом режиме? Понятия не имею, пожалуйста, дайте мне несколько советов, большое спасибо!
1 ответ
Вы также можете отлаживать приложение в состоянии уничтожения.
Установите схему как на картинке ниже.
Запустите приложение один раз, оно не появится на устройстве, при нажатии на значок оно будет работать только.
Поэтому, когда вы запускаете приложение, на самом деле оно будет в состоянии уничтожения, поэтому теперь запустите PushKit Payload и поместите указатель отладки в нужное место. Просто отладьте приложение правильно, и вы сможете разобраться в проблеме.
Дайте мне знать, могу ли я помочь вам где-нибудь, связанным с этим. Удачного кодирования.