创建订阅时,“CKSubscriptionTypeRecordZone订阅与订阅选项7”不兼容

时间:2014-07-22 15:11:37

标签: ios8 cloudkit cksubscription

我尝试使用以下代码创建CloudKit订阅:

let container = CKContainer.defaultContainer()
let database = container.publicCloudDatabase
let recordZone = CKRecordZone.defaultRecordZone()

let subscription = CKSubscription(zoneID: recordZone.zoneID, options: .FiresOnRecordCreation | .FiresOnRecordUpdate | .FiresOnRecordDeletion)

database.saveSubscription(subscription) {(subscription: CKSubscription!, error: NSError!) in
    if error
    {
        NSLog("Error: %@", error)
    }
    else if subscription
    {
        NSLog("Saved subscription: %@", subscription)
    }
}

它失败并出现此错误:

  

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'CKSubscriptionTypeRecordZone subscriptions are incompatible with subscription options 7'

这是什么意思,我该如何解决?我希望在创建,更新或删除记录时收到通知。

1 个答案:

答案 0 :(得分:4)

咄!来自the docs

  

subscriptionOptions

     

订阅的配置选项。您必须为此参数指定0。区域订阅目前不支持任何选项。

指定nil有效,但我可能采取不同的方法。