Как разобрать поле информации о пользователе 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)")
}
}
}
Размещать его потому, что его было трудно найти, и это может быть полезно для других, столкнувшихся с такой же проблемой в будущем.