You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here's an easy way to reproduce it by just throwing this bit of Swift code into an existing application (it's pretty horrible, but for the purposes of illustration, etc)
var query = [kSecClass: kSecClassGenericPassword,
kSecReturnAttributes: true,
kSecMatchLimit: kSecMatchLimitAll] as [CFString : Any]
var result: AnyObject? = nil
_ = SecItemCopyMatching(query as! CFDictionary, &result)
let dict = result as! [[String: AnyObject]]
dump(dict.map { return "kSecAttrAccount value: \($0[kSecAttrAccount as String]!), type: \(type(of: $0[kSecAttrAccount as String]!))" })
dump(String(data: dict.first![kSecAttrAccount as String] as! Data, encoding: .utf8)!)
We should definitely do this soon, but the change is a little complicated since we need to migrate the old keychain entries over from Data to String without losing any of them.
[REQUIRED] Step 1: Describe your environment
CocoaPods
[REQUIRED] Step 2: Describe the problem
The
GoogleAppMeasurement.framework
is misusing the systemKeychain
APIs.The documentation for
kSecAttrAccount
constant says:(emphasis mine)
Firebase / GoogleAppMeasurement misuses this API and sends along value of type
CFData
/NSData
.Steps to reproduce:
NSData
object.I figured it's coming from y'alls by running:
Relevant Code:
Here's an easy way to reproduce it by just throwing this bit of Swift code into an existing application (it's pretty horrible, but for the purposes of illustration, etc)
On my machine/app it prints the following:
The text was updated successfully, but these errors were encountered: