Ios8 CloudKit。订阅问题

Ios8 CloudKit。订阅问题,ios8,cloudkit,cksubscription,Ios8,Cloudkit,Cksubscription,我不太了解有关订阅的信息。我有私人数据库。有一个我创建订阅的表。如果我在一个iCloud帐户下订阅了两台设备,则会出现错误:订阅错误: CKError 0x165c6ac0:“服务器拒绝请求”(15/2032);服务器消息=“订阅是“C6051A24-2DB5-47EA-98D2-7D8786AA6D3B”的副本”;uuid=48AC7472-006A-4FD7-84A9-DB342C83C199;容器ID=“iCloud.com.*.” 也许我做错了什么?要使两台设备都接收订阅通知,我需要做什

我不太了解有关订阅的信息。我有私人数据库。有一个我创建订阅的表。如果我在一个iCloud帐户下订阅了两台设备,则会出现错误:订阅错误:

CKError 0x165c6ac0:“服务器拒绝请求”(15/2032);服务器消息=“订阅是“C6051A24-2DB5-47EA-98D2-7D8786AA6D3B”的副本”;uuid=48AC7472-006A-4FD7-84A9-DB342C83C199;容器ID=“iCloud.com.*.”

也许我做错了什么?要使两台设备都接收订阅通知,我需要做什么

已编辑


还有。我只创建一个订阅。若我使用方法fetchAllSubscriptionsWithCompletionhandler,我会看到每个表中有3-4个订阅。但这很奇怪,因为我只创造了一个。当我收到通知时,我看到的通知比应该看到的多。

订阅是每个数据库的。因此,如果您想在一个数据库上接收多个用户的通知,只需创建一次就足够了。由于在同一数据库上创建同一订阅(同一订阅ID)两次,因此出现错误。只需确保只创建一次。您可以获取订阅以检查它是否已创建。Harry

如果我创建了订阅,无论是什么设备,那么注册通知后,两个设备都会得到更改?是的,两个设备都会得到更改。试试看。这让我很困惑,因为我收到了同样的错误,但是订阅ID不一样。将id为BA3B7883-9D4C-4A5A-9F03-52987466E332的记录订阅保存到服务器时出错:订阅与“EC4279FA-2814-4D66-9B03-7014FADF1278”重复。那么我该如何检查副本呢?现在是2017年,我仍然看到这一点。我只是忽略了这个错误&它工作得很好。应用程序需要在其生命周期内订阅一次,但即使如此,也会出现此错误。这不是每个数据库。。。从apple文档中可以看出:CloudKit订阅是针对每个用户的,这意味着您的应用程序需要为每个应接收推送通知的用户创建订阅。使用您的帐户登录CloudKit Dashboard并查看那里的订阅并不意味着所有用户都有订阅…尝试重置数据库并启动Overhanks harryhorn,现在这些订阅不再存在了。harryhorn,现在又出现了同样的问题。由于无法删除iCloud订阅一侧的挂起,因此未收到通知。只有重置开发环境才有帮助。为什么会发生这种情况?是苹果那边的虫子?
NSPredicate *truePredicate = [NSPredicate predicateWithValue:YES];
CKSubscription *itemSubscription = [[CKSubscription alloc] initWithRecordType:RecordType
                                                                    predicate:truePredicate
                                                                      options:CKSubscriptionOptionsFiresOnRecordCreation | CKSubscriptionOptionsFiresOnRecordUpdate];


CKNotificationInfo *notification = [[CKNotificationInfo alloc] init];
notification.shouldSendContentAvailable = YES;

notification.alertLocalizationKey = @"";
notification.shouldBadge = NO;

itemSubscription.notificationInfo = notification;

[self.privateDatabase saveSubscription:itemSubscription completionHandler