Managed Built iOS App Missing "Always" option

On iphone with Managed SDK 38, I only see the option for “Always” on my iphone 6 (version 12.4.8), and not on my iphone X (13.3.1).

In my plist, I have:

NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription
NSLocationAlwaysAndWhenInUseUsageDescription

So I don’t think I’m missing any of those. Is this specific to iOS version?

I have to select “While In Use”, and then later I can go into settings and switch it to “Always” on my iphone X.

Hey @aryk,

Please take a look at the last note under this section to understand the nuances involved around asking for location permissions. https://docs.expo.io/versions/v38.0.0/sdk/permissions/#permissionslocation

Cheers,
Adam

Yup, I did and that’s the issue:

  • if you provide only NSLocationWhenInUseUsageDescription , your application will only ever ask for location access permission “when in use”,
  • if you provide both NSLocationWhenInUseUsageDescription and NSLocationAlwaysAndWhenInUseUsageDescription , your application will only ask for “when in use” permission on iOS 10, whereas on iOS 11+ it will show a dialog to the user where he’ll be able to pick whether he’d like to give your app permission to access location always or only when the app is in use,
  • if you provide all three: NSLocationWhenInUseUsageDescription , NSLocationAlwaysAndWhenInUseUsageDescription and NSLocationAlwaysUsageDescription , your application on iOS 11+ will still show a dialog described above and on iOS 10 it will only ask for “always” location permission.

I provided all three, yet on iOS 11+ (I’m on 13), it doesn’t show the “Always” option. It should show “Always” alongside “When In Use”.

I’m using a compiled stand-alone version in test flight.