Hey @mentor, we mention the main reasoning behind this decision in our blog, “There shouldn’t be two ways to do an identical thing in a single SDK, and so we picked our preferred approach and are consolidating around it.”
I believe the biggest reason is to specifically separate actions into distinct scopes.
in favor of module-specific permissions methods
I believe this decision is due to iOS modifications, and for now to prevent possible changes in the future without conflicting with projects that have no correlation.
Why need a permission if that library doing the action won’t be used?
Just import the needed.
I got a APP from 120MB (expo build) to 17MB (eas build), in SDK 40.
I think if the only need is to expose hooks, to this permissions.
Then you can go to Feature Requests | Expo and add a new request.
I think this request will be helpful, since I’m gonna use in a project when done.
You can create your own hook style, see this example for camera permission
There have been significant changes in the form of permissions.
There is a tendency for each module to have only the code for that feature.
Camera, GPS, Documents, Wifi, etc…
So, if you need to change something in the module gps, it has no impact with camera, wifi. etc…
The size diff was just to make a point, about why they are doing it, and the benefits.
If you have two modules that do something, when you need to change a feature, you will need to change both modules.
That’s duplicate work.
If you look for the new documentation, you will see that the GPS permission now has a different reply, due to the modifications that have been made for the new needs.