CKSubscriptionOptionsFiresOnRecordUpdate 类型的 CKSubscription 不起作用

Posted

技术标签:

【中文标题】CKSubscriptionOptionsFiresOnRecordUpdate 类型的 CKSubscription 不起作用【英文标题】:CKSubscription of type CKSubscriptionOptionsFiresOnRecordUpdate doesn't work 【发布时间】:2015-08-09 14:12:53 【问题描述】:

我使用以下代码设置了CKSubscription

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"TRUEPREDICATE"];
CKSubscription *subscription = [[CKSubscription alloc] initWithRecordType:@"RecordTypeName"
                                                                 predicate:predicate
                                                            subscriptionID:@"Subscription1"
                                                                   options:CKSubscriptionOptionsFiresOnRecordCreation | CKSubscriptionOptionsFiresOnRecordUpdate];

CKDatabase *privateDatabase = [[CKContainer defaultContainer] privateCloudDatabase];
 [privateDatabase saveSubscription:subscription completionHandler:^(CKSubscription * _Nullable subscription, NSError * _Nullable error) 
     if (error) 
         NSLog(@"Failed to subscribe.");
     
 ];

application:didReceiveRemoteNotification: 中,我会在添加新记录时收到通知,但在更新现有记录时我从未收到通知。

我已尝试从 CloudKit 仪表板和登录同一帐户的另一台设备更新记录。

我正在 ios 9 beta 5 上进行测试。

【问题讨论】:

【参考方案1】:

这是一个已知的错误,更新通知不起作用。

[CKFetchNotificationChangesOperation sometimes does not return UPDATE, DELETE notifications [CloudKit push notifications on record update stopped working [https://forums.developer.apple.com/thread/7288][3]

【讨论】:

你不会是第一个 :-) 我花了很多时间来敲打我的头,因为我不知道为什么它不起作用。知道这不是我的错,这让我松了一口气,但知道我无法做任何事情来解决它,这让我很沮丧。 @EdwinVermeer 对我来说,我的容器似乎 UPDATE 和 DELETE 通知正在工作,你怎么看?他们可能终于修好了?!

以上是关于CKSubscriptionOptionsFiresOnRecordUpdate 类型的 CKSubscription 不起作用的主要内容,如果未能解决你的问题,请参考以下文章