Parse Push-уведомления Тестирование PFInstallation не работает

Я являюсь объективным программистом, пытающимся использовать push-уведомления при разборе.

Я добавил Parse setApplicationID и Client Key в раздел didFinishLaunchingWithOptions файла appDelegate.m. Затем я добавил эти два метода:

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

// Store the deviceToken in the current installation and save it to Parse.
PFInstallation *currentInstallation = [PFInstallation currentInstallation];
[currentInstallation setDeviceTokenFromData:deviceToken];
currentInstallation.badge = 0;
NSArray *channels = [NSArray arrayWithObjects:@"global", [DataSource sharedInstance].userProfile.userID, nil];
[currentInstallation addObjectsFromArray:channels forKey:@"channels"];
[currentInstallation saveInBackground];
}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
[PFPush handlePush:userInfo];
}

Всякий раз, когда номер currentInstallation.badge изменяется, номер значка в приложении отвечает, и когда я делаю код точки останова, он показывает, что каналы были добавлены в currentInstallation.

Проблема заключается в том, что текущая установка не сохраняется в разделе Объекты базовой установки базы данных Parse. Каналы, которые я добавил в currentInstallation, не отображаются после запуска saveInBackground.

При отладке проблемы я удалил строку в базе данных базовой установки, которая соответствует устройству, которое я использую для тестирования (который был единственным объектом в базе данных базовой установки). Когда я повторно запускаю код, ничего не добавляется.

Еще одна информация состоит в том, что я почти уверен, что все настройки настроены правильно, потому что после настройки я смог получать тестовые push-уведомления на моем устройстве. Проблема в том, что я не могу программно изменить каналы, на которые подписано мое тестовое устройство, в базе данных базовой установки.

Итак, в основном мой вопрос: как записать элементы в базу данных базовой установки, используя PFInstallation saveInBackground? Что я делаю неправильно?

Спасибо за помощь! Я очень ценю это!

Редактировать Еще одна проблема заключается в том, что я не могу добавить устройство, которое я тестирую push-уведомления, обратно в базу данных объектов Core Installations, поэтому я все еще на 0 объектах в базе данных. Любые рекомендации о том, как мне вернуть его?

1 ответ

Решение

Это так расстраивает. Все, что мне нужно было сделать, это выйти из моей учетной записи Parse, а затем снова войти в нее. И вуаля! Каналы были там!

Другие вопросы по тегам