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?
1 ответ
Подписка - это не что иное, как CKPredicate, который активен на стороне сервера, а не в вашем приложении. Если вы хотите проверить правильность предиката, просто выполните его как запрос и посмотрите, что вы получите.
Убедитесь, что ваше приложение difFinishLaunchingWithOptions имеет следующие строки кода:
application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: .Alert | .Badge | .Sound, categories: nil))
application.registerForRemoteNotifications()
Также убедитесь, что вы обрабатываете входящие уведомления, добавив это:
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
NSLog("Push received.. Should be handled..")
}