То, что я хочу:didReceiveRemoteNotification не вызывается, когда CloudKit запись добавляется
Я хочу, чтобы мой IOS приложение, чтобы выполнить действие, как только CloudKit запись добавляется.
Что я сделал:
Я последовал Apple, info сделать это.
Проблема:
application:didReceiveRemoteNotification
никогда не вызывается.
То, что я пытался решить эту проблему:
Я успешно настроить подписку, чтобы получить уведомление при добавлении CloudKit записи. Я подтвердил это с помощью application:didRegisterForRemoteNotificationsWithDeviceToken
.
Я также подтвердил, что запись действительно создана.
Я могу взять запись, используя CKQueryOperation
.
Я также пробовал его с application:didReceiveRemoteNotification:fetchCompletionHandler
, но этот метод также не называется.
Я искал форумы разработчиков Apple, а также StackOverflow, но не нашел решения для своей работы.
Что я могу сделать?
код для создания подписки:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"TRUEPREDICATE"];
CKSubscription *subscription = [[CKSubscription alloc] initWithRecordType:@"command" predicate:predicate options:CKSubscriptionOptionsFiresOnRecordCreation];
CKNotificationInfo *notificationInfo = [CKNotificationInfo new];
notificationInfo.alertLocalizationKey = @"New command.";
notificationInfo.shouldBadge = YES;
subscription.notificationInfo = notificationInfo;
[VMKGlobalVariables.GLOBAL_appDelegate.privateDatabase saveSubscription:subscription
completionHandler:^(CKSubscription *subscription, NSError *error) {
if (error)
{
// insert error handling
}
else
{
DDLogVerbose(@"Added command subscription successfully.");
}
}
];
Удаленное уведомление не работает на симуляторе. Вам нужно использовать реальное устройство. Это так? – Starlord
Спасибо. Да, я использую iPhone 6s. – vomako
Обновите свой вопрос более подробной информацией о подписке и добавленной записи. И подтвердите, что вы говорите о добавлении записи на одном устройстве и получении уведомления на втором устройстве. Вы не получите уведомление на том же устройстве, которое использовалось для добавления записи. – rmaddy