0

Я использую CloudKit. У меня есть тип записи Channel, который в качестве атрибута имеет isLive. Это может быть либо 0, либо 1, указывающий, жив ли канал.Как создать уведомление о подписке CloudKit для активации обновления атрибута записи?

Я хочу послать уведомление всем пользователям, если жить состояние, если поменяется канала от 0 до 1.

Я пытался определить CKQuerySubscription так:

let liveSubscription = CKQuerySubscription(recordType: "Channel", predicate: NSPredicate(format: "(recordID == '4cebe441-c6f7-47af-85df-e6572e757c5c') AND (isLive == 1)"), options: [.firesOnRecordUpdate]) 
    let liveNotificationInfo = CKNotificationInfo() 
    liveNotificationInfo.shouldSendContentAvailable = false 
    liveNotificationInfo.shouldBadge = true 
    liveNotificationInfo.alertBody = "Test is live now" 
    channelSubscription.notificationInfo = liveNotificationInfo 

Это отправить однако уведомление о любом обновлении этой записи канала. Это не волнует предикат isLive.

Любая идея Как я могу получать уведомления только для isLive изменить с 0 на 1?

Или лучше получать все обновления этой записи канала, обрабатывать их в своем приложении, а затем при необходимости отправлять местное уведомление?

+0

hi получил какое-либо обходное решение? это тоже не работает для меня. –

ответ

0

Невозможно зарегистрировать изменения только при обновлении одного атрибута. Вы всегда будете получать уведомление, когда обновляется ANY полей. Это намного лучше, и он всегда работает так.