When the loaded page in WKWebView (iOS app) has a web form to add files and the user taps on it the user will see a system ActionSheet with options:
- Take photo or video
Photo Library - Browse
To use the first one it is required to add Camera and Microphome usage description permissions. It is easy to find it out because the app crashes without usage descriptions in the project info.plist but as a developer I am not using the UIImagePickerController directly
To use the second option it seems the developer has to add photo library usage description - NSPhotoLibraryUsageDescription. But according to this documentation https://developer.apple.com/documentation/photokit/requesting_authorization_to_access_photos it is not required. And the app does not have any crashes (but this document tells that it should crash https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/plist/info/NSPhotoLibraryUsageDescription). This option does not produces the alert about photo library access, and on top of that the developer does not use any photo frameworks or UIImagePickerController
To use third option it seems the developer should setup UISupportsDocumentBrowser key but the app does not use UIDocumentBrowserViewController directly. Probably I have to make my own alert according to iCloud Design Guide. Also there some entitlements to use iCloud
While the first option is required to create some usage descriptions the two others don't and it is not clear how the security policy for apps is working at all. There is no any consistency. Also the WKWebView documetation does not describe this case at all. It produces a lot of questions. At least I have to ask about it according to this document https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources
But the main question is what usage description keys should I as a developer put inside my application info.plist so I will provide the best experience for app's user and not be rejected in app review process while use WKWebView to load any website with form containing files input fields?
Thanks a lot