I have two applications using the same schema to store an kSecClassGenericPassword item protected by a biometric authentication.
After the initializations of the applications, I am not able to retrieve the content of the keychain item from one application (errSecInteractionNotAllowed = -25308) when all is good for the other.
The behaviour is as the keychain item is shared between the two applications even if the keychain access group is not set.
I put a sample app and a video on this folder: https://www.dropbox.com/sh/lk5p1war4c4tids/AACbE-E-z7Pqjx9XHD92RJ6Sa?dl=0
Steps to Reproduce (See the video as attachments):
Use the Keychain-Access project provided
Set the bundle identifier: App1 -> ch.sysmosoft.debug.Keychain-Access.1
Launch App1
Close App1
Launch App1
Authenticate
Protected element is presented
Change the bundle identifier: App2 -> ch.sysmosoft.debug.Keychain-Access.2
Launch App2
Close App2
Launch App2
Protected element is presented
Launch App1
Protected element is not accessible (errSecInteractionNotAllowed)
Version/Build:
Xcode -> Version 10.1 (10B61)
iOS -> 12.1 (16B92)
iPhone 6s (model MKQN2ZD/A)
iPad mini (model ME276GP/A)
Other information:
This bug occurs even if the TeamId is different.
I use the keychain item unique identifier from this page What makes a keychain item unique (in iOS)?
Thanks for your help