0
我正在使用CloudKit在应用程序中工作,并且正在创建订阅CloudKit。这里是我的代码:CloudKit:查询订阅请求
CKSubscription *subscription = [[CKSubscription alloc]
initWithRecordType:recordType
predicate:predicate
options:CKSubscriptionOptionsFiresOnRecordCreation |
CKSubscriptionOptionsFiresOnRecordUpdate |
CKSubscriptionOptionsFiresOnRecordDeletion];
CKNotificationInfo *notificationInfo = [CKNotificationInfo new];
notificationInfo.shouldSendContentAvailable = YES;
subscription.notificationInfo = notificationInfo;
notificationInfo.shouldBadge = YES;
CKDatabase *publicDatabase = [container publicCloudDatabase];
[publicDatabase saveSubscription:subscription
completionHandler:^(CKSubscription *subscription, NSError *error) {
if (!error)
{
NSLog(@"subscription success!");
}
else
{
NSLog(@"subscription error%@", error.localizedDescription);
}
}];
我的问题给你们。我如何查询或验证用户订阅CloudKit?
喜@EdwinVermeer。我已经尝试了您的想法,并且谓词在tableview中正确工作,但与订阅无关。我怀疑这是我的订阅设置,因为我可以得到一个真正的谓词来工作。我的谓词涉及CKReference到当前用户,在那里我想获得其他用户对当前用户发表的评论的通知 - let predicate = NSPredicate(format:“user!=%@ AND userIDForPost =%@”,argumentArray :[userRef,userRef])'。 userRef是当前用户的ID,“user”是对其他用户的引用,userIDForPost是对当前用户的引用。超级赞赏任何帮助。 –
我在答案中添加了一些信息。你有吗?除此之外,你是否在设备上使用iCloud? –
是的,我在AppDelegate中有这些方法。并且该设备使用其他用户的帐户登录到iCloud。然后我进入仪表板并创建新记录以匹配我自己帐户下的谓词,我认为苹果公司建议这样做。过去几个月我尝试了很多东西,我开始怀疑这是否是一个错误。非常感谢你的帮助! @EdwinVermeer。 –