Ios SecAccessControl没有成员takeRetainedValue
我正在跟踪这个链接 在行Ios SecAccessControl没有成员takeRetainedValue,ios,swift,keychain,touch-id,Ios,Swift,Keychain,Touch Id,我正在跟踪这个链接 在行sacRef.takeRetainedValue()中,我得到类型为“SecAccessControl”的值没有成员“takeRetainedValue” 我应该如何将受TouchID保护的数据保存到钥匙链中?只需将其删除即可。自Swift 2.3+以来,大多数框架不再需要它 我刚刚尝试将我的一个Swift 2.0应用程序升级到Swift 2.3。它报告了同样的问题。我只是把它拿走了。它的编译和运行很有魅力。您是否尝试过用sacRef替换sacRef.takeRetain
sacRef.takeRetainedValue()
中,我得到类型为“SecAccessControl”的值没有成员“takeRetainedValue”
我应该如何将受TouchID保护的数据保存到钥匙链中?只需将其删除即可。自Swift 2.3+以来,大多数框架不再需要它
我刚刚尝试将我的一个Swift 2.0应用程序升级到Swift 2.3。它报告了同样的问题。我只是把它拿走了。它的编译和运行很有魅力。您是否尝试过用
sacRef
替换sacRef.takeRetainedValue()
可能与此问题相同:。
let sacRef = SecAccessControlCreateWithFlags(kCFAllocatorDefault,
kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly,
.UserPresence,
&error);
let data: NSData = "sup3r_s3cur3_k3y".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!;
var attributes: NSMutableDictionary = NSMutableDictionary(
objects: [ kSecClassGenericPassword,
service,
data,
kCFBooleanTrue,
sacRef.takeRetainedValue()
],
forKeys: [ kSecClass,
kSecAttrService,
kSecValueData,
kSecUseNoAuthenticationUI,
kSecAttrAccessControl]);
var status: OSStatus = SecItemAdd(attributes as CFDictionaryRef, nil);