Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

399
Views
Unhandled promise rejection: Error: One of the `NSLocation*UsageDescription` keys must be present in Info.plist to be able to use geolocation

I am trying to add background location tracking to my React-Native/Expo app (managed workflow SDK 42) but I keep getting an error, telling my I need to add a specific item to my Info.plist.

Below is my code for how I request for permissions in the app, as well as my Info.plist

//Code in my JS requesting background permissions

useEffect(()=> {

  let isActive = true;

  const requestBackgroundPermissions = async () =>{
    const {status} = await Location.requestBackgroundPermissionsAsync()
    if(status === 'granted'){
      await Location.startLocationUpdateAsync(LOCATION_TASK_NAME, {
        accuracy: Location.Accuracy.Balanced,
      });
    }
  }

  async function getBackgroundLocationAsync() {
   let { status } = await Location.requestBackgroundPermissionsAsync()
     if(status !=='granted'){
       setErrorMsg('Permission to access background location was denied')
         return;
     }
     let backgroundLocation = await Location.getBackgroundPositionAsync({});
         setBackgroundLocation(backgroundLocation);
   }

   getBackgroundLocationAsync()

   return() =>{
     isActive=false
   }

 },
[],
)

//TaskManager, I don't know if I'm doing this part right

TaskManager.defineTask(LOCATION_TASK_NAME,({data,error})=>{
    if(error){
      return;
    }
    if(data){
      const{locations} = data
    }
  })

//Info plist

"ios": {
      "supportsTablet": true,
      "infoPlist":{
        "NSLocationAlwaysAndWhenInUseUsageDescription":"Allows App to use location services in the foreground and background.",
        "NSFaceIDUsageDescription":"Allows App to use Face ID for a simpler sign in.",
        "UIBackgroundModes":[
          "location",
          "fetch"
        ],
      }
    },

//Android Permissions

"android": {
      "adaptiveIcon": {
        "foregroundImage": "./assets/adaptive-icon.png",
        "backgroundColor": "#FFFFFF"
      },
      "permissions":[
        "ACCESS_COARSE_LOCATION",
        "ACCESS_BACKGROUND_LOCATION",
        "ACCESS_FINE_LOCATION",
      ],

    },
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!