Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.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 CloudKit“;认购书为“认购书”的副本;错误-获取订阅ID_Ios_Cloudkit_Ckquery_Ckerror - Fatal编程技术网

Ios CloudKit“;认购书为“认购书”的副本;错误-获取订阅ID

Ios CloudKit“;认购书为“认购书”的副本;错误-获取订阅ID,ios,cloudkit,ckquery,ckerror,Ios,Cloudkit,Ckquery,Ckerror,我正在尝试将CKQuerySubscription保存到公共数据库中-返回CKError时包含以下信息: [ "ServerErrorDescription": subscription is duplicate of 'C82E82EF-F373-4D75-A465-65364D8FEB12', "CKErrorDescription": Error saving record subscription with id E30DB4D5-2617-4E0D-8CFE-A1453

我正在尝试将
CKQuerySubscription
保存到公共数据库中-返回
CKError
时包含以下信息:

[
    "ServerErrorDescription": subscription is duplicate of 'C82E82EF-F373-4D75-A465-65364D8FEB12',
    "CKErrorDescription": Error saving record subscription with id E30DB4D5-2617-4E0D-8CFE-A14538140029 to server: subscription is duplicate of 'C82E82EF-F373-4D75-A465-65364D8FEB12',
    "NSDebugDescription": CKInternalErrorDomain: 2032,
    "NSUnderlyingError": <CKError 0x1c064ec70: "Server Rejected Request" (2032); server message = "subscription is duplicate of 'C82E82EF-F373-4D75-A465-65364D8FEB12'"; uuid = A5290A31-650C-44FC-B1C1-7BCB181291F8; container ID = "iCloud.com.mycompany.myapp">, 
    "NSLocalizedDescription": Error saving record subscription with id E30DB4D5-2617-4E0D-8CFE-A14538140029 to server: subscription is duplicate of 'C82E82EF-F373-4D75-A465-65364D8FEB12', "errorKey": ck1uc5yob, 
    "RequestUUID": A5290A31-650C-44FC-B1C1-7BCB181291F8, 
    "ContainerID": iCloud.com.mycompany.myapp
]
[
“ServerErrorDescription”:订阅与“C82E82EF-F373-4D75-A465-65364D8FEB12”重复,
“CKErrorDescription”:将id为E30DB4D5-2617-4E0D-8CFE-A14538140029的记录订阅保存到服务器时出错:订阅与“C82E82EF-F373-4D75-A465-65364D8FEB12”重复,
“NSDebugDescription”:CKInternalErrorDomain:2032,
“NSUnderlyingError”:,
“NSLocalizedDescription”:将id为E30DB4D5-2617-4E0D-8CFE-A14538140029的记录订阅保存到服务器时出错:订阅与“C82E82EF-F373-4D75-A465-65364D8FEB12”重复,“errorKey”:ck1uc5yob,
“请求UUID”:A5290A31-650C-44FC-B1C1-7BCB181291F8,
“集装箱ID”:iCloud.com.mycompany.myapp
]
CKError
对象上的属性
ancestorRecord
clientRecord
serverRecord
都是
nil


如何从该错误中获取服务器上存在的查询ID(即C82E82EF-F373-4D75-A465-65364D8FEB12)。是否有一个我缺少的属性可以拥有它?

有几个选项。我倾向于使用
fetchAllSubscriptionsWithCompletion
处理程序提取所有订阅,然后解析我感兴趣的订阅,如下所示:

 [publicDatabase fetchAllSubscriptionsWithCompletionHandler:^(NSArray<CKSubscription *> * _Nullable subscriptions, NSError * _Nullable error)
 {  
     for (CKQuerySubscription *sub in subscriptions)
     {
         NSString *predString = [NSString stringWithFormat:@"%@", sub.predicate];
     }
 }];
[publicDatabase FetchAllSubscriptionWithCompletionHandler:^(NSArray*\u可空订阅,NSError*\u可空错误)
{  
用于(订阅中的CKQuerySubscription*sub)
{
NSString*predString=[NSString stringWithFormat:@“%@”,子谓词];
}
}];

但您也可以使用来根据订阅ID拉取所有Sub或特定Sub。在这种情况下,您需要创建操作,配置感兴趣的订阅ID,将后处理代码添加到完成块,然后运行,然后运行操作。

是的,我现在已经配置了订阅ID,但就我而言,这不是一个理想的解决方案。。