CloudKit CKSubscription包含强制性通知?

时间:2014-11-28 14:34:05

标签: ios apple-push-notifications cloudkit

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

User Facing Notification for CloudKit CKSubscription

我希望远程更新通知是应用程序内部实现细节;我不希望用户每次更新自己的对象集合时都会收到通知。我似乎无法在文档中找到解决这个问题的任何内容。 Apple自己的docs here谈论这个就像“呃,当然你想做一个通知。”好吧,我没有。

1 个答案:

答案 0 :(得分:4)

如果您将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 = ""