У меня есть приложение, работающее на iOS 13, которое получает уведомления pu sh, которые содержат как предупреждающее сообщение, так и доступный контент (для фоновой загрузки контента). Но я заметил проблему, из-за которой некоторые фоновые загрузки никогда не запускаются.
Просматривая в своих журналах, я вижу, что большую часть времени application(_:didReceiveRemoteNotification:fetchCompletionHandler:)
вызывается по назначению, и загрузки начинаются.
Но иногда (даже в полночь, когда телефон не используется) вместо этого он выбирает application(_:didFinishLaunchingWithOptions:)
с полезной нагрузкой pu sh. В этом случае didReceiveRemoteNotification
вообще не вызывается.
Вот мои вопросы:
- Это предполагаемое поведение? Документация немного расплывчата, но звучит так, будто didReceiveRemoteNotification следует вызывать в каждом случае.
- Я не против начать загрузку в
didFinishLaunchingWithOptions
, если это то, что нужно, но этот метод также вызывается, когда пользователь просто нажимает на пу sh. Могу ли я увидеть разницу между этими двумя случаями?
У меня включен фоновый режим «Удаленные уведомления», и полезная нагрузка pu sh обычно выглядит следующим образом:
"aps": {
"alert": {
"loc-args": [
"Name",
"Description"
],
"loc-key": "new_release_body",
"title-loc-args": {
},
"title-loc-key": "new_release_title"
},
"category": "NEW_RELEASE",
"content-available": 1,
"mutable-content": 1
}
Спасибо!