我关注此链接https://www.cigital.com/blog/integrating-touch-id-into-ios-applications/
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);
在sacRef.takeRetainedValue()
行上我得到Value of type 'SecAccessControl' has no member 'takeRetainedValue'
如何将TouchID受保护的数据保存到钥匙串中?
答案 0 :(得分:0)
删除它。自Swift 2.3 +以来,大多数框架不再需要它。
我只是尝试将我的一个Swift 2.0应用程序升级到Swift 2.3。它报告了同样的问题。我只是删除它。它编辑和工作就像一个魅力。