CloudKit 区域 CKSubscriptionOptions

CloudKit Zone CKSubscriptionOptions

我在为自定义区域设置区域订阅时遇到错误。

let mainZoneID=CKRecordZoneID(zoneName: "MainZone", ownerName: CKOwnerDefaultName)

let subscription=CKSubscription(zoneID: mainZoneID, options: CKSubscriptionOptions.FiresOnRecordCreation)

我收到的错误消息是“*** 由于未捕获的异常 'NSInvalidArgumentException',正在终止应用程序,原因:'CKSubscriptionTypeRecordZone subscriptions are incompatible with subscription options 1'”

我找到了一个显示 CKSubscriptionOptions.allZeros 用法的 link,但至少在 iOS 9 SDK 中没有这个选项。

Apple 文档参考将其设置为 0,但当我这样做时,它不会编译。

来自文档:"The configuration options for the subscription. You must specify 0 for this parameter. Zone subscriptions currently do not support any options."

参见下面的代码片段:

let subscription=CKSubscription(zoneID: mainZoneID, options: 0)

编译器错误说我不能将 Int 用于选项。有谁知道如何在自定义区域上设置区域订阅?这是一个错误吗?

事实上,CKSubscriptionOptions 枚举没有 0 的选项。您可以使用 CKSubscriptionOptions(rawValue:0)

强制值为 0