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..")
}
Другие вопросы по тегам