Application Rejected - Location modal does not contain label explaining usage

I’ve gone through the docs a few times and I just can’t figure out why this won’t work. Here’s the iOS portion of my app.json

"ios": {
      "supportsTablet": true,
      "bundleIdentifier": "buzz.qualify.iphone",
      "buildNumber": "11",
      "icon": "./assets/icon-ios.png",
      "infoPlist": {
        "NSCameraUsageDescription": "Qualify uses your camera to allow you to upload and share photos with other users",
        "NSLocationWhenInUseUsageDescription": "Qualify requires your location to match you with other users.",
        "NSPhotoLibraryUsageDescription": "Qualify uses your photo library to allow you to upload and share photos with other users"
      },
      "config": {
        "usesNonExemptEncryption": false,
        "branch": {
          "apiKey": "key_live_****"
        }
      }
    },

However, we’re getting denied because the modal says Allow "Qualify" to access your location while you are using the app? with the subtext Allow QUalify to use your location.

There is no usage of the string that I added through the `infoPlist configuration. This has caused us about a week and our users are waiting for an update.

This is the only code asking for location, so we’re surely not asking for background location.

if (Constants.isDevice) {
                                        let {
                                            status
                                        } = await Permissions.askAsync(
                                            Permissions.LOCATION
                                        )
                                        let position = await Location.getCurrentPositionAsync(
                                            {}
                                        )

                                        if (position && position.coords) {
                                            profileData.latitude =
                                                position.coords.latitude
                                            profileData.longitude =
                                                position.coords.longitude
                                        }
                                    }

Hey @christiantucker,

Just to ensure before moving forward with the debugging process, did you rebuild after making the app.json changes? If not, you’ll need to in order for those changes to take effect.

Cheers,

Adam

Hey @adamjnav Thanks for the response, yes I rebuilt the application after making changes to app.json The build number was a large jump just to ensure that we didn’t accidentally select or re-upload the same build, from build #1 to build #25.

Our previous application uses the same key NSLocationWhenInUseUsageDescription in the info.plist file however it is not an expo application.

Is there a way to view the info.plist file of the built ios application? Without ejecting to expokit.

To add more information we are using Expo 25.

I’m going to go ahead and bump this even though it’s only been 3 days. This is extremely important and we’re facing deadline challenges for investors because of this.

Hey @christiantucker,

Sorry about this. We had a similar issue reported here https://github.com/expo/expo/issues/1570 but it looks like they solved it by updating their binary. Can you ensure you’re running the newest version of exp (51.4.0) and run exp build:ios and see if the changes are reflected in your permission alerts?

Adam

This worked, but it’s also a little upsetting that we’re having to release a new major version on 3.0.1 instead of 3.0.0 It’s really not a big deal, but it’s just the idea that .0.0 seems so clean lol.

Regardless, we shouldn’t need to increase the actual version number for changes to info.plist to take place, should we? Is this a problem with expo?

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.