如何快速解析 TVos 中返回的 CKSubscription 用户信息字段

Posted

技术标签:

【中文标题】如何快速解析 TVos 中返回的 CKSubscription 用户信息字段【英文标题】:How to parse a CKSubscription userinfo field returned in TVos in swift 【发布时间】:2016-02-20 18:56:48 【问题描述】:

我有一个在 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 的下一个版本中中断。

【问题讨论】:

【参考方案1】:

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

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)")
        
    

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

【讨论】:

以上是关于如何快速解析 TVos 中返回的 CKSubscription 用户信息字段的主要内容,如果未能解决你的问题,请参考以下文章

视频播放结束后如何返回 tvOS 中的 Main.storyboard?

如何确保构建使用 v14.x iOS/tvOS 模拟器?

tvOS UITextField 编辑后空白

tvOS UITextField 编辑后空白

AppleTV - tvos - 使用本机和 TVMLKIT 的混合应用程序 - 无法返回本机应用程序

如何在 tvOS 中打开 GameCenter