ios - CloudKit CKSubscription包括强制性通知吗?

标签 ios apple-push-notifications cloudkit

我正在编写一个基于CloudKit的iOS和Mac应用程序,该应用程序使用CKSubscription在远程数据集中发生更新时得到通知。我已经正确设置了订阅,并且正在接收通知。一切正常!唯一的问题是设备会收到面向用户的通知。

我希望将远程更新通知作为应用程序内部实现的详细信息。我不希望用户每次更新自己的对象集合时都收到通知。我似乎在文档中找不到任何解决此问题的方法。苹果公司自己的docs here谈论这样的事情,“当然,你想发出通知。”好吧,我没有。

最佳答案

如果将CKNotificationInfo的alertBody保留为空白,则不会收到面向用户的通知。该通知将在您的应用中收到,您可以在其中照常处理它。

    var subscription = CKSubscription(recordType: recordType, predicate: predicate, options: .FiresOnRecordCreation | .FiresOnRecordUpdate | .FiresOnRecordDeletion)
    subscription.notificationInfo = CKNotificationInfo()
    subscription.notificationInfo.shouldSendContentAvailable = true
    subscription.notificationInfo.soundName = UILocalNotificationDefaultSoundName
    subscription.notificationInfo.alertBody = ""

关于ios - CloudKit CKSubscription包括强制性通知吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27190896/

相关文章:

ios - 在 AVAudioPlayer 之后恢复播放音乐

ios - 如何从 IOS swift 中的通知中读取自定义数据

ios - 使用 NSPersistentCloudKitContainer 处理重复项

ios - 如何增加/减少UIImage的亮度,并且需要保存生成的图像?

iphone - IOS中的视频编辑库

ios - 收到 APNS 通知但不显示

ios - CloudKit - 帮助向 recordType 添加字段 -

CloudKit:删除记录的 CKQueryOperation

ios - "Atomic increment"与 CloudKit

ios - 多久检查一次 APNS 反馈?