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",
],
},