Невозможно создать подписку: ошибка (тип 11) указывает, что тип записи не найден, даже если он существует

Я пытаюсь настроить подписку Cloudkit, которая отправляет мне уведомление каждый раз, когда создается новая запись определенного типа. Код, который я использую для настройки подписки, приведен ниже.

Работает на одном устройстве. Если я создаю новую запись на другом устройстве, он получает уведомление.

Но тот же код возвращает ошибку типа 11 при запуске на другом устройстве. Это же устройство может создавать записи этого типа и сохранять их.

Я полностью в тупике. Будем весьма благодарны за любые указания на то, что происходит и как решить эту проблему!

 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"TRUEPREDICATE"];
    CKSubscription *artisSubscription = [[CKSubscription alloc]
                                         initWithRecordType:@"DummyRecordType"
                                         predicate:predicate
                                         options:CKSubscriptionOptionsFiresOnRecordCreation];

    CKNotificationInfo *notificationInfo = [CKNotificationInfo new];
    notificationInfo.alertLocalizationKey = @"how many dummies will I get.";
    notificationInfo.shouldBadge = YES;

    artisSubscription.notificationInfo = notificationInfo;

[self.publicDatabase saveSubscription:artisSubscription
               completionHandler:^(CKSubscription *subscription, NSError *error) {
                   if (error)
                   {
                       NSLog(@"error %@ while saving subscription %@",error,artisSubscription) ;
                   }
                   else
                   {
                       NSLog(@"Successfully created subscription") ;
                   }
               }];

Этот NSLog показывает, что устройство может создать запись типа DummyRecordType

2016-03-20 01:41:40.654 Successfully stored dummy record record <CKRecord: 0x14f662e40; recordType=DummyRecordType, recordID=AF6F246A-9CBA-412C-8B7D-441E47105DC3:(_defaultZone:__defaultOwner__), recordChangeTag=im0be2zp, values={
FirstName = "Sandra Boticelli";

}>

Этот NSLog показывает, что устройство не может создать подписку для этого же типа записи DummyRecordType

 2016-03-20 01:41:48.053 error <CKError 0x14f643e80: "Unknown Item" (11/2003); server message = "did not find required record type: _sub_trigger_sub_0e58a7f4546c28b9d6f073bfa910e7f3"; uuid = E5CA48C1-8D46-47DD-8D0F-C486C2DA7D5D; container ID = "iCloud.com.apm.smartiothome.DoodleSend"> while saving subscription <CKSubscription: 0x14f57a2e0; ; Query Subscription: recordType=DummyRecordType, predicate=TRUEPREDICATE, subscriptionOptions=1, subscriptionID=FA20F835-DFB5-418A-BB51-462432BD4EFE, zoneID=(null)>

0 ответов

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