Я пытаюсь создать подписку 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)")
}
})