Silent pu sh уведомление не работает на переднем плане iOS приложение - PullRequest
0 голосов
/ 10 апреля 2020

У меня проблемы с тем, чтобы приложение получало тихие уведомления pu sh, пока оно находится на переднем плане. Я правильно настроил уведомления pu sh и могу получать уведомления «оповещения» (с предупреждением, звуком или значком) без проблем, независимо от того, в каком состоянии находится приложение. Но когда я отправляю следующий код pu sh полезная нагрузка уведомления:

{ 
    "aps": { 
        "content-available": 1
    }
}

Мое приложение не получит его через делегата приложения application:didReceiveRemoteNotification:completionHandler:. У меня проверено и включено «Удаленное уведомление» в разделе «Подписи и возможности».

Сумасшедшая вещь в том, что я знаю, что отправляю его правильно, и телефон получает его правильно, потому что, если я изменю свою схему запуска на «Ожидание «Запустить исполняемый файл» и запустить приложение, отправив то же самое уведомление , автоматически запустит приложение (и полезная нагрузка pu sh будет включена в launchOptions). Я просто не вижу причин, по которым мой метод делегата не будет вызван, если приложение уже находится на переднем плане (или даже в фоне).

Кто-нибудь сталкивался с этим раньше и, возможно, знает, где искать посмотреть, если я где-то неправильно изменил настройку? Это на iPhone, работающем 13.3 и использующем Xcode 11.3.

1 Ответ

0 голосов
/ 10 апреля 2020

Что ж, после нескольких дней борьбы с этим я наткнулся на свой ответ буквально через час после публикации этого вопроса.

Чтобы получать фоновые уведомления в ваше приложение, вы должны каждый раз звонить UIApplication.shared.registerForRemoteNotifications() 1005 * ваше приложение запущено. Я пропускал вызов, если у меня уже был токен, и это приводило к тому, что мой метод делегата не вызывался.

...