0

我有一个在 TvOS 下运行的 CKSubscription,它在订阅触发时返回这个用户信息对象,这很棒。但是我要如何在 Swift 中解析它,而不是通过制作我自己的解析例程?

userInfo [ck: {
ce = 2;
cid = "iCloud.blah";
nid = "be5a3f8d-blah-blah-blah-813544059695";
qry =     {
    dbs = 2;
    fo = 2;
    rid = "807524B0-blah-blah-blah-8E60519B6D56";
    sid = "037E27BA-blah-blah-blah-366959FF49DA";
    zid = "_defaultZone";
    zoid = "_defaultOwner";
};
}]

我的问题,有些基本的见谅。感兴趣的摆脱,就是RecordID。

没有图书馆可以解析这些信息吗?如果我编写自己的代码;它将在 iOS 的下一个版本中中断。

4

1 回答 1

0

对不起大家;花两个小时看,张贴这个;然后在这里找到答案..关于该主题的出色帖子。

https://www.invasivecode.com/weblog/advanced-cloudkit-part-iii

这是代码...

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
    let notification = CKQueryNotification(fromRemoteNotificationDictionary: userInfo as! [String : NSObject])
    let container = CKContainer.defaultContainer()
    let database = container.publicCloudDatabase

    if notification.notificationType == .Query {
        let queryNotification = notification as! CKQueryNotification
        if queryNotification.queryNotificationReason  == .RecordUpdated {
            print("queryNotification.recordID \(queryNotification.recordID)")
        }
    }
}

发布它是因为它很难找到,并且可能对将来面临同样挑战的其他人有用。

于 2016-02-20T19:27:15.833 回答