Вызов веб-службы для действия уведомления для удаленного push-уведомления на iOS

Мне нужно вызвать 2 вызова веб-службы, когда пользователь нажимает кнопку в интерактивном уведомлении. Это уведомление является удаленным push-уведомлением. Вызовы веб-службы работают нормально, когда приложение находится на переднем плане или в фоновом режиме. Но поведение непоследовательно, когда приложение находится в приостановленном состоянии (пользователь принудительно удалил приложение). Иногда это работает хорошо, то есть вызывает оба вызова веб-службы. иногда это не удается, и наиболее распространенная причина, которую я видел в журналах, это

Действие фонового запуска приложения для действия ответа на уведомление vscd.escalate получил ответ на действие { description = "Операция не может быть завершена. (Ошибка BSActionErrorDomain 4.)"; }>

У меня включены только "Удаленные уведомления" в разделе "Возможности". "Фоновая загрузка" не включена.

Любая помощь приветствуется.


person Shashidhar Yamsani    schedule 05.12.2017    source источник
comment
Я понял, что вызывал завершениеHandler еще до выполнения запросов веб-службы, и по этой причине вызовы службы терпят неудачу.   -  person Shashidhar Yamsani    schedule 08.01.2018


Ответы (1)


У меня это произошло, когда я не зарегистрировал делегат уведомления должным образом при запуске приложения - как они предупреждают в документации. Исправление заключалось в том, чтобы убедиться, что делегат был установлен явно во время didFinishLaunchingWithOptions.

Раньше мое приложение устанавливало делегата во время загрузки начального контроллера представления, который работал во всех случаях, за исключением случаев, когда приложение не работает на переднем плане или в фоновом режиме, а запускается самим уведомлением.

person jab    schedule 26.09.2018