Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法创建订阅:错误(类型11)指示找不到记录类型,即使它存在_Ios_Objective C_Cloudkit_Cksubscription - Fatal编程技术网

Ios 无法创建订阅:错误(类型11)指示找不到记录类型,即使它存在

Ios 无法创建订阅:错误(类型11)指示找不到记录类型,即使它存在,ios,objective-c,cloudkit,cksubscription,Ios,Objective C,Cloudkit,Cksubscription,我正在尝试设置Cloudkit订阅,每次创建某个记录类型的新记录时,该订阅都会向我发送通知。下面是我用来设置订阅的代码 它正在一台设备上工作。如果我在另一台设备上创建新记录,它会收到通知 但当在另一台设备上运行时,相同的代码返回类型11错误。这个设备能够创建并存储这种类型的记录 我完全被难住了。任何关于正在发生的事情以及如何解决的建议都将不胜感激 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"TRUEPREDICATE"

我正在尝试设置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";
 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)>
2016-03-20 01:41:40.654已成功存储虚拟记录

此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";
 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)>
2016-03-20 01:41:48.053保存订阅时出错

我认为这是ios9与ios8的兼容性问题。因为如果两台设备都在ios9上,它就可以工作,但如果一台设备在ios8上,它就不能工作。我认为这是ios9与ios8的兼容性问题。因为如果两个设备都在ios9上,它就可以工作,但如果一个设备在ios8上,它就不能工作。