in source/UberCore/Authentication/Tokens/KeychainWrapper.swift [80:98]
func getObjectForKey(_ key: String) -> NSCoding? {
var keychainItemData = getKeychainItemData(key)
keychainItemData[MatchLimit] = kSecMatchLimitOne
keychainItemData[ReturnData] = kCFBooleanTrue
var data: AnyObject?
let result = withUnsafeMutablePointer(to: &data) {
SecItemCopyMatching(keychainItemData as CFDictionary, UnsafeMutablePointer($0))
}
var object: AnyObject?
if let data = data as? Data {
object = NSKeyedUnarchiver.unarchiveObject(with: data) as AnyObject?
}
return result == noErr ? object as? NSCoding : nil
}