Почему старая CKDatabaseSubscription запускает уведомление, несмотря на то, что его удаляют из кода и панели инструментов CloudKit - PullRequest
0 голосов
/ 04 марта 2019

Я создаю два CKDatabaseSubscription, один для privateCloudDatabase и один для sharedCloudDatabase следующим образом:

// Subscription to private database //

CKDatabaseSubscription *privateSubscription = [[CKDatabaseSubscription alloc] initWithSubscriptionID:@"checkPrivateDatabaseChanges"];

CKNotificationInfo *privateNotificationInfo = [[CKNotificationInfo alloc] init];

privateNotificationInfo.shouldSendContentAvailable = true;

privateNotificationInfo.alertBody = @"private database subscription";

privateSubscription.notificationInfo = privateNotificationInfo;

CKModifySubscriptionsOperation *privateSubscriptionModify = [[CKModifySubscriptionsOperation alloc] initWithSubscriptionsToSave:[NSArray arrayWithObject:privateSubscription] subscriptionIDsToDelete:nil];

[[CKContainer defaultContainer].privateCloudDatabase addOperation:privateSubscriptionModify];

//

// Subscription to Shared database //

CKDatabaseSubscription *sharedSubscription = [[CKDatabaseSubscription alloc] initWithSubscriptionID:@"checkSharedDatabase"];

CKNotificationInfo *sharedNotificationInfo = [[CKNotificationInfo alloc] init];

sharedNotificationInfo.shouldSendContentAvailable = true;

sharedNotificationInfo.alertBody = @"shared database subscription";

sharedSubscription.notificationInfo = sharedNotificationInfo;

CKModifySubscriptionsOperation *sharedSubscriptionModify = [[CKModifySubscriptionsOperation alloc] initWithSubscriptionsToSave:[NSArray arrayWithObject:sharedSubscription] subscriptionIDsToDelete:nil];

[[CKContainer defaultContainer].sharedCloudDatabase addOperation:sharedSubscriptionModify];

//

Все выглядит нормально, и я получаю уведомления об изменениях, но даже с этимиподписки, удаленные из кода и удаленные из панели мониторинга cloudkit, по-прежнему отправляют уведомления.

Infact, старая тестовая подписка, которая была удалена более недели назад, все еще отправляет уведомление с тестовым предупреждением.Я не хочу переустанавливать контейнер CloudKit, но может ли это быть единственным способом правильного сброса подписок?

...