IOS не получаю первую push нотификацию в background
IOS 13.7 IPhone Xr, Xcode Version 11.7 (11E801a)
Я изменил схему приложения и установил launch mode в значение "Wait for the executable to be launched". Потом запускаю приложение и отправляю нотификацию на моё устройство
Нотификация выглядит так:
{
"aps":{
"content-available":1
}
}
В xcode статус приложения меняется с "Waiting to attach to test on iPhone" на "Running test on iPhone", но нотификация не была получена.
Я пытаюсь поймать нотификацию в этом методе:
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
Следующую нотификацию я успешно получаю. Ситуация воспроизводиться после перезапуска приложения.
Мне нужна помощь в получении первой нотификации в фоне
Ответы (1 шт):
Если приложение не запущенно, то при получении нотификации вызовется метод application(_:didFinishLaunchingWithOptions:) с нотификацией в параметре launchOptions
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
...
let notificationOption = launchOptions?[.remoteNotification]
if let notification = notificationOption as? [String:AnyObject]{
// received notification
}
...
}