Создание подписок CloudKit в производственной среде - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь создать подписку CKSub с пользовательским предикатом, который соответствует текущему идентификатору пользователя. Он отлично работает при запуске в разработке, но при переходе в производственную среду возникает следующая ошибка:

error saving subscription: "Error saving record subscription with id 303D72C8-A43F-4F18-8A2A-D0D9FEB0D65E to server: Cannot create or modify field \'notif_alert\' in record \'_sub_trigger_sub_51FF1A188EF28BF4241E95152E18E1FD\' in production schema

Очевидно, что поскольку предикат уникален для пользователя, я не могу просто развернуть подписку CKS от разработки до производства. Кто-нибудь знает, как создать производственную подписку с уникальными предикатами (из-за уникальных идентификаторов пользователя) для каждого пользователя? Код для реализации подписки ниже:

//Setting up profile like notifications, triggered from CloudKit
    let subscription = CKQuerySubscription(recordType: "ProfileLikes", predicate: NSPredicate(format: "toUser == %@", currentUser), options: .firesOnRecordCreation)

        let info = CKSubscription.NotificationInfo()
    info.alertBody = "You've got a new profile like. Open up to find out who ?️"
    info.shouldBadge = true
    info.soundName = "default"

    subscription.notificationInfo = info
    CKContainer.default().publicCloudDatabase.save(subscription, completionHandler: { subscription, error in
        if error == nil {
            // Subscription saved successfully
            print("subscription successful")
        } else {
            print("error saving subscription: \(error?.localizedDescription)")
        }
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...