首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CKQuerySubscription:订阅失败

CKQuerySubscription:订阅失败
EN

Stack Overflow用户
提问于 2018-09-05 04:25:22
回答 2查看 605关注 0票数 0

我有一个iOS应用程序,我正在与CloudKit合作。我正试着做个订阅。

代码语言:javascript
复制
import CloudKit

class HomeViewController: UIViewController {
    override func viewDidLoad() {
        registerSubscription()
    }

    func registerSubscription() {
        let cloudContainer = CKContainer(identifier: "iCloud.com.xxx.XXXXX")
        let privateDB = cloudContainer.privateCloudDatabase
        let predicate = NSPredicate(format: "TRUEPREDICATE") // TRUEPREDICATE: all records of the specified type match the predicate
        let subscription = CKQuerySubscription(recordType: "PrivateRecords", predicate: predicate, options: .firesOnRecordCreation)
        privateDB.save(subscription, completionHandler: ({returnRecord, error in
            if let err = error {
                print("Subscription has failed: \(err.localizedDescription)")
            } else {
                print("Subscription set up successfully")
                print("Subscription ID: \(subscription.subscriptionID)")
            }
        }))
    }
}

它就会不断地出现错误。错误说明如下。

使用nil notificationInfo: CKQuerySubscription: 0x7fd7bfca7ec0;查询订阅: recordType=PrivateRecords、predicate=TRUEPREDICATE、subscriptionOptions=1、predicate=TRUEPREDICATE zoneID=(null)

我可以根据订阅ID删除订阅,但是每次运行这个应用程序时,它都会给我一个不同的ID。实际上,我在macOS应用程序中也做了同样的事情。而且它有一个订阅。另外,我在大约一周前删除了一个订阅类型,看看会发生什么。我真的不知道订阅ID是干什么用的。

那么,我在订阅方面做错了什么?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-05 05:37:15

CKQuerySubscription扩展了CKSubscription。保存订阅之前需要设置的属性之一是notificationInfo。该消息指出,该属性是nil,应该设置为有用的东西。

票数 1
EN

Stack Overflow用户

发布于 2021-09-01 09:52:48

CKQuerySubscriptions有一个属性notificationInfo,您需要做的是如下所示:

代码语言:javascript
复制
let notification = CKSubscription.NotificationInfo()
notification.alertBody = "You have a new message"
notification.shouldSendContentAvailable = true

newSubscription.notificationInfo = notification
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52177054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档