# Common reasons for location tracking to fail

Most issues associated with location tracking stem from the following reasons:

- The device doesn’t have an active internet connection.
- If the device has been powered off.
- Location services have been disabled.
- Location policy has not been associated with the device. Unless it is associated with the device, the [Scan Device Location](https://www.hexnode.com/mobile-device-management/help/how-to-scan-device-location-using-hexnode-mdm/) action under **Manage** > **Actions** will be disabled by default.

Here is the platform-wise solution to counteract the common location tracking issues:

iOS devices
-----------

If the location check fails, check whether the following requirements are met.

1. The Hexnode UEM app must be installed on the device.
2. The device must always be connected to the internet.
3. Location services must be enabled on the device.
    On your **iOS device** – tap on **Settings > Privacy > Location Services** > toggle the button **On.**
    Search for the **Hexnode UEM app** and set **Allow Location Access** as **Always**.
![Enable Location Services in iOS and allow HexnodeMDM to Always access location.](https:2021/11/Location-Services-in-iOS.png)

5. Enable *Location Tracking* under General Settings in the associated policy.
    Log in to your **UEM portal** > **Policies** > *select the associated policy* > **General Settings** > **Location Tracking** > Check the option **Enable Location Tracking** and provide the **Location Update Interval (15 minutes – 24 hours)**.
6. Given the **Scan Device Location** action remains in the *Pending* status, open the Hexnode UEM app from the device end and click the sync icon for the scan to be successful. This issue happens because iOS kills any app, including Hexnode UEM, that hasn’t been used for some time. Hexnode requires its agent app to be running in the background to fetch the location of iOS devices.

Android devices
---------------

If the location check fails, check whether the following requirements are met.

1. Hexnode UEM/Hexnode For Work must be installed on the device.
2. Ensure the Hexnode UEM/Hexnode For Work app has permission to access the location. Go to **Settings** > **Apps** > **Hexnode UEM/Hexnode For Work** > **Permissions** > **Location** > set to **Allow all the time**.
3. Location services must be enabled on the device.
    For a typical Android device –
    Pull down the status bar and ensure that the location is turned ON.
    Tap on **Settings** > **Location** > toggle the button **On**.
![Enable Hexnode for Work app to access device location using app permissions](https:2022/08/App-Permissions-to-access-location-in-Android.png)

5. Enable Location Tracking under General Settings in the associated policy.
    Log in to your **UEM** portal > navigate to **Policies** > select the associated policy > go to **General Settings** > **Location Tracking** > check the option **Enable Location Tracking** and provide the **Location Update Interval (15 minutes – 24 hours).**
6. Enable **Prompt to enable location services** under **Admin** > **General Settings** > **Location Tracking** to prompt the user to turn on location services if it is disabled for Android devices. The user is also prompted when he tries to disable location tracking.
7. Ensure that your device’s location accuracy is set to High. This helps to pinpoint your location with high accuracy. On your device – **Settings** > Search for **Location > Location > Mode > High Accuracy.**
![Set Location mode to High accuracy to pinpoint device location ](https:2018/08/Device-location-Accuracy-on-Android.png)

 Note: 
For Android, an active internet connection is not required for location data collection. While the device is offline, the Hexnode UEM app continues to collect location points locally based on the **Location Update Interval** configured in the Location Tracking policy. Once network connectivity is restored, the Hexnode UEM portal displays the last cached interval data. If this latest data does not reflect immediately, ensure the device has successfully synced with the portal since coming back online.

 

 
Windows devices
---------------

If the location check fails, check whether the following requirements are met.

1. Supported only on Windows 10 and Windows 11 devices.
2. The devices must always be connected to the internet.
3. Location services must be enabled on the device.
    On your Windows device – tap on **Settings > Privacy > Location > toggle the Location service button On.**
![Enable location access on Windows device in privacy settings](https:2018/08/Location-access-in-Windows-device.png)

5. Enable Location Tracking under General Settings in the associated policy. Log in to your UEM portal > **Policies** > *select the associated policy* > **General Settings** > **Location Tracking** > check the option **Enable Location Tracking** and provide the **Location Update Interval (15 minutes – 24 hours).**

macOS devices
-------------

The following requirements need to be met to enable location tracking on macOS devices:

1. The devices should be running macOS 10.11 or higher.
2. The Hexnode UEM app must be installed on the device with the Location permission granted for the app. Go to **System Preferences** > **Security & Privacy** to enable location services for Hexnode.
3. Location tracking policy must be associated with the device. To associate the location tracking policy with the device, navigate to *Policies* > *General Settings* > *Location tracking* > *Enable location tracking*.
4. Ensure the Wi-Fi option on the device is enabled even if it is connected to an Ethernet network.

To force location services ON for Android devices
-------------------------------------------------

- [Locations can be forced ON](https://www.hexnode.com/mobile-device-management/help/how-to-enforce-location-services-on-android-devices-using-hexnode-mdm/) for – **Samsung Knox**, **LG GATE** and **Kyocera business phones**.
- To force location services ON, enable the option **GPS / Force GPS to fetch location,** under **Hexnode UEM Console > Policies > Android > Restrictions > Allow Developer Options**.

![Force Locations Services ON in Device restrictions for Android](https:2018/08/Force-Location-Services-ON-for-Android.png)

If **Scan Device Location** is disabled under **Actions** 
----------------------------------------------------------

Enable Location Tracking under General Settings in the associated policy.

[![Scan Device Location under Actions disabled on the Hexnode portal](https:2021/11/Scan-Device-Location-action-disabled-on-the-Hexnode-portal.png)](https:2021/11/Scan-Device-Location-action-disabled-on-the-Hexnode-portal.png)

- Log in to your portal > **Policies** > *select the associated policy* > **General Settings** > **Location Tracking** > check the option **Enable Location Tracking** and provide the **Location Update Interval (15 minutes – 24 hours).**
![Associate Policy to Enable Location Tracking on Devices](https:2022/08/Enable-Location-Tracking.png)