-1
var keyCallbacks = kCFTypeDictionaryKeyCallBacks var valueCallbacks = kCFTypeDictionaryValueCallBackskann unveränderlichen Wert des Typs 'UnsafeRawPointer nicht übergeben?' als inout arguement
var keys = [Unmanaged.passUnretained(kSecClass).toOpaque(), Unmanaged.passUnretained(kSecAttrApplicationTag).toOpaque(), Unmanaged.passUnretained(kSecAttrKeyType).toOpaque(), Unmanaged.passUnretained(kSecReturnRef).toOpaque()]
var values = [Unmanaged.passUnretained(kSecClassKey).toOpaque(), Unmanaged<AnyObject>.passUnretained(privateTag as AnyObject).toOpaque(), Unmanaged.passUnretained(kSecAttrKeyTypeRSA).toOpaque(), Unmanaged.passUnretained(kCFBooleanTrue).toOpaque()]
//let queryKey = CFDictionaryCreate(kCFAllocatorDefault, &keys, &values, 4, &keyCallbacks, &valueCallbacks)//Error-- for "keys" this error show cannot pass immutable value of type 'UnsafeRawPointer?' as inout arguement.
let queryKey = CFDictionaryCreate(kCFAllocatorDefault, &keys, &values, 4, &keyCallbacks, &valueCallbacks)
// Get the key.
var extractedItem: AnyObject?
let resultCode = SecItemCopyMatching(queryKey, &extractedItem)//cannot pass immutable value of type 'UnsafeRawPointer?' as inout arguement
guard let keyItem = extractedItem, resultCode == noErr else {
return nil
}
let result = keyItem as! SecKey
return result
aber ich bekomme Fehler für diese Linie lassen Attribute = CFDictionaryCreate (kCFAllocatorDefault, und Tasten, und Werte, 2, & keyCallbacks & valueCallbacks) Können Sie mir sagen, wie diese Methode –
@OmBhagwan: Es gibt keine solche Zeile in meiner Antwort. - Wie gesagt, benutze kein CFDictionary. –
ja @Martin Ich habe nach gesehen gesehen Sie antworten, aber es ist nicht funktionieren. Weil CFDictionaryCreate eine Methode ist, die ein Attribut gibt, das nicht in NSDictionary steht. –