AVAsset creation triggering Touch ID

Originator:jared.sorge
Number:rdar://31353719 Date Originated:3/30/17
Status:Open Resolved:
Product:iOS+SDK Product Version:
Classification: Reproducible:
 
Area:
AVFoundation

Summary:
I'm creating an AVAsset from a URL to be attached to an AVPlayerItem and then an AVPlayer. When the AVAsset is created, the app pauses and prompts for Touch ID input.

I've attached a sample app that replicates the issue. Open it up on a device with Touch ID and tap the add to keychain button. Then tap play video. You will be prompted by Touch ID. The result of this action does nothing, as the video plays either by entering a fingerprint or tapping cancel.

I paused the app at the Touch ID prompt (screenshot attached). After looking it over, my hunch is that AVAsset shouldn’t be copying all credentials, and if it needs to, it should specify kSecUseAuthenticationUI = kSecUseAuthenticationUISkip instead.

Steps to Reproduce:
On a device that supports Touch ID:
Add an item to the keychain secured by kSecAccessControlUserPresence for access control
Create an AVAsset

Expected Results:
The asset should just be created

Actual Results:
Touch ID blocks the UI

Version:
iOS 10.2

Notes:
Uploaded sample project to https://s3.amazonaws.com/zujsorge/Video+Test.zip

Configuration:
iPhone 7

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!