Как разобрать поле информации о пользователе CKSubscription, возвращенное в TVOS в Swift

У меня есть CKSubscription, работающая под TvOS, которая возвращает этот пользовательский информационный объект, когда подписка срабатывает, и это здорово. Но как мне разобраться с этим в Свифте, конечно же, не создав собственную процедуру анализа?

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

Размещать его потому, что его было трудно найти, и это может быть полезно для других, столкнувшихся с такой же проблемой в будущем.

Другие вопросы по тегам