Posts

Post not yet marked as solved
5 Replies
0 Views
can you provide an example of proper usage?Below are a few combinations that I tried and received inconclusive results:let flags = [...] var error: Unmanaged? guard let access = SecAccessControlCreateWithFlags(nil, kSecAttrAccessibleWhenUnlocked, flags, &error) else { return } // ... - DOES NOT WORK: - [.userPresence, .or, .devicePasscode] - [.userPresence, .or, .applicationPassword] - [.devicePasscode, .or, .applicationPassword] - requires both still - [.biometryCurrentSet, .or, .applicationPassword] - requires both still- WORKS: - [.biometryCurrentSet, .or, .devicePasscode] - works as expected FaceID/TouchID first, devicePasscode if failed - [.biometryCurrentSet, .devicePasscode] - [.devicePasscode, .applicationPassword]From what I was able to keep track of, it seems like the order doesn't matter? In the case:let flags = [.devicePasscode, .or, .biometryCurrentSet]It still asked me for FaceID before device passcode.