Я использую parse.com в качестве поставщика APN для тестового приложения, которое я создаю. Я подтвердил, что push-уведомления работают, так как я смог успешно получать предупреждения, когда приложение находится на переднем плане. Кроме того, у меня есть значение remote-notification
для ключа UIBackgroundModes
, указанного в моем plist.Уведомление Apple Push в фоновом режиме
В моем приложении я хочу отправить данные текущего местоположения пользователя обратно в мою базу данных parse.com для приложения, когда получено push-уведомление. Я действительно не забочусь о самой полезной информации уведомления, так как уведомление - это просто средство для получения небольшой информации. Приложение постоянно собирает данные в фоновом режиме и сохраняет их в постоянном NSDictionary
.
Я поместил код отправки адреса в application:didReceiveRemoteNotification:
. Если мое приложение находится на переднем плане, когда я получаю уведомление, метод вызывается. Если мое приложение находится в фоновом режиме, метод не вызывается.
- Я что-то не так?
- ли вообще возможно выполнить запрос API в
application:didReceiveRemoteNotification:
, когда приложение работает в фоновом режиме, и пользователь не взаимодействовал с уведомлением **
EDIT: проблема сохраняется даже тогда, когда я использование application:didReceiveRemoteNotification:fetchCompletionHandler:
.
Примечание: В моем NSDictionary, полном данных о местоположении, не пусто. Кроме того, я не пытаюсь манипулировать пользовательским интерфейсом в фоновом режиме - просто пытаюсь выполнить запрос API.
Это сработало! У меня был флаг «content-available» включен в AppDelegate, но не был нажат этот флаг в моих APN JSON. Спасибо, Алекс! Это устраняет проблему. – ArtSabintsev
Ха, странно. Он работал только один раз. Посмотрите на него и вернитесь к вам – ArtSabintsev
Nevermind, он работает! Это была просто задержка получения данных от разбора. – ArtSabintsev