1

我正在尝试使用以下代码创建 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'

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

4

1 回答 1

4

呸!从文档

subscriptionOptions

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

指定nil作品,虽然我可能会采取不同的方法。

于 2014-07-22T15:53:14.840 回答