in Expo v26, ImagePicker.launchImageLibraryAsync/launchCameraAsync works just fine without the need to prompt for cameral roll permission.
Expo v27 added the requirement to ask for cameral roll permission before using them.
Why add a requirement that is not required by iOS (since it works on v26)?
Adam mentioned iOS 10, not 11. Requiring the permissions for all versions seems less error prone than relying on frequently changing OSs’ requirements, I guess
Oh I always thought Apple will only add more restrictions with every update, didn’t expect them to be loosening the permission level.
If this is going to be the standard from iOS 11 onwards, then it makes no sense to require the permission just for it to be compatible with an old iOS version (with diminishing market share with every passing moment).
The permission handling can be done by Expo internally (API returns with rejected promise if permission declined by user) like in SDK 26 so that developers don’t have to worry about compatibility with different versions.
Expo just need to write the test cases and make sure it only asks permission when the iOS version requires it. The significant improvement to user experience outweighs the maintenance cost.