创建订阅时出现“CKSubscriptionTypeRecordZone 订阅与订阅选项 7 不兼容”
Posted
技术标签:
【中文标题】创建订阅时出现“CKSubscriptionTypeRecordZone 订阅与订阅选项 7 不兼容”【英文标题】:"CKSubscriptionTypeRecordZone subscriptions are incompatible with subscription options 7" when creating a subscription 【发布时间】:2014-07-22 15:11:37 【问题描述】:我正在尝试使用以下代码来创建 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、2、4 或 8 的值都会崩溃,这表明不支持将选项组合在一起,这是我没有预料到的,但我想就是这样。 我想通了,@0x7fffffff - 它就在文档中。我应该开始阅读那些东西。 【参考方案1】:呃!来自the docs:
subscriptionOptions
订阅的配置选项。您必须为此参数指定 0。区域订阅目前不支持任何选项。
指定nil
有效,但我可能会采用不同的方法。
【讨论】:
以上是关于创建订阅时出现“CKSubscriptionTypeRecordZone 订阅与订阅选项 7 不兼容”的主要内容,如果未能解决你的问题,请参考以下文章
使用 Google Apps 脚本创建 Strava Webhook 订阅时出现问题
Google PubSub:使用 AppEngine 推送端点订阅时出现 SSL 错误
选择“使用信用卡或借记卡付款”时出现 PayPal 订阅按钮错误
尝试使用 Azure CLI 创建 Web 应用时出现限制错误