Разбор предупреждение от didReceiveRemoteNotification:fetchCompletionHandler
Я получаю сообщение об ошибке после добавления этого кода из parse.com:
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
if (application.applicationState == UIApplicationStateInactive) {
[PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo];
}
}
Я не очень понимаю, что происходит, но я получаю это предупреждение в журнале:
вы реализовали -[
применение: didReceiveRemoteNotification: fetchCompletionHandler:], но
вам все равно нужно добавить "remote-notification" в список ваших
поддерживаемые UIBackgroundModes в вашей информации.файл plist.
Я думаю, что добавление в ваш plist файл UIBackgroundModes - remote-notification исправил бы проблему,
но когда я это делаю, он меняет слова на следующие:
Required Background Modes ->App downloads content in response to push notifications
что мое приложение не делает, так что я в замешательстве, почему я делаю это в первую очередь.
5 ответов:
Если вы не намерены получать данные в ответ на удаленное уведомление я думаю, что вы можете реализовать этот метод делегата:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfoнапример
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { if (application.applicationState == UIApplicationStateInactive) { [PFAnalytics trackAppOpenedWithRemoteNotificationPayload:userInfo]; } }вместо текущего вы используете.
Если вы не хотите вручную добавлять ключ в свой
.plistфайл тогда вот графическая версия ответа @MurraySagal, выполните шаги от 1 до 7, и вы будете сделаны. :)
Примечание: Если вы не можете прочитать шаги, вы можете уменьшить текущую вкладку с помощью комбинации команда++ (для увеличения) и команда+ - (для уменьшения масштаба). Если команда не работает, вы можете попробовать с Ctrl.
Я думаю, что @djshiow не решает вашу проблему.
вам нужно добавить следующее в свою информацию.plist file:
1) Добавить новую строку и в левом столбце выберите требуются фоновые режимы.
2) в строке пункта 0 Нажмите на правый столбец и введите: remote-notification. нажать кнопку ввод.
В Xcode 6:
- в навигаторе проекта выберите проект
- в списке проекты и цели выберите цель.
- Выберите Функции
- разверните и включите фоновые режимы
- Нажмите Кнопку Удаленные Уведомления
Это добавить
при использовании нового didReceive... метод вы должны сделать две вещи:
- добавьте необходимую запись в свой plist
- добавить обработчик завершения, который будет обрабатывать событие для обработки данных
Если вы не хотите загружать какие-либо данные, вы можете добавить это в свой didReceive... метод
completionHandler(.NoData)


Comments