Remove the request for location permissions from your app

For everyone looking for the root issue, it’s the permissions key configuration in your app.json.

Quoting from:
https://docs.expo.io/versions/latest/config/app/#permissions

To use ONLY the following minimum necessary permissions and none of the extras supported by Expo in a default managed app, set permissions to [ ].
The minimum necessary permissions do not require a Privacy Policy when uploading to Google Play Store and are:
• receive data from Internet
• view network connections
• full network access
• change your audio settings
• prevent device from sleeping
To use ALL permissions supported by Expo by default, do not specify the permissions key. To use the minimum necessary permissions ALONG with certain additional permissions, specify those extras in permissions, e.g. [ “CAMERA”, “ACCESS_FINE_LOCATION” ]

The above means:

  • If you do not specify a permissions key, expo will request all possible permissions. This includes permissions that you may or may not use.
  • If you do specify a permissions key with an empty array:
    "permissions": []
    expo will request the bare minimum permissions that are required for the core expo app to work. These permissions are listed above.
  • If you do specify a permissions key, with a non-empty array:
    "permissions": ["CAMERA","ACCESS_FINE_LOCATION"]
    expo will request the bare minimum permissions, plus the permisssions you specify in the array.

The packages that you choose to include in your build have nothing to do with the permissions required by your app. No expo package requests permissions automatically, even if you install it and include it in your app. Worst case scenario, if you do not manually request permissions, you will be denied access to the features.
As I said, the permissions key configuration is all you need.

Also, make sure to close all sessions opened with expo start, then do a expo start -c, before building your app. It may help expo to force it rebuild with the new settings without using any cached data.

2 Likes