【发布时间】:2016-09-25 17:02:03
【问题描述】:
我使用 CloudKit。我有一个 Channel 记录类型,它确实有 isLive 作为属性。它可以是0 或1,表示频道是否正在直播。
如果频道从 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 的通知吗?
或者最好接收此频道记录的所有更新,在我的应用程序中处理它们,然后在必要时发送本地通知?
【问题讨论】:
-
嗨,有什么解决方法吗?它也不适合我。
标签: ios push-notification uilocalnotification cloudkit cksubscription