Geofencing Limitations (Android & iOS)

Prev Next

Overview

This page summarizes platform-specific limits and behavior that affect geofencing on Android and iOS. Understanding these constraints helps you configure location permissions correctly, set realistic expectations for event cadence, and plan reliable testing.


Limitations

Android

  • Devices running Android API level 29 or higher require background location permission. The user must select “Allow all the time” for the Geofence API to function correctly.

  • On single-user devices, there is a limit of 100 geofences per app. For multi-user devices, the limit applies per device user.

  • On Android 8.0 (API level 26) and higher, when an app is running in the background while monitoring a geofence, the device processes geofencing events every few minutes.

  • Users must enable Wi-Fi, mobile network, and Google Location Accuracy for the Geofence API to perform as intended.

  • When an app runs in the background on Android 8.0 or later, updates are delivered in batches several times per hour.

  • For further details regarding battery optimization, see Android Location and Battery Optimization.


iOS

  • A maximum of 20 locations can be monitored within a small area (e.g., a 500-meter radius).

  • iOS does not support fake GPS servers. Therefore, Mapp uses .gpx files to simulate GPS locations during testing.

  • Push notifications will not be sent if the user’s device does not have an active network connection.

  • Apps typically receive a location notification when the device moves 500 meters or more from the last reported position. Notifications are sent no more frequently than once every five minutes.

  • If the device has network access, Location Management is more likely to deliver notifications promptly. For further details, refer to the Apple Core Location documentation.


Location Permission Pop-Up Specifications (iOS)

Popup options vary depending on the device model and iOS version. Location access should always be set to “Always Allow.” See the table below for specific guidance.

Device / Software Version

Pop-Up Options

Comments

iPhone X (iOS 13.5.1)

1. Allow While Using App

2. Allow Once

3. Don’t Allow

The user should open Settings > Location, find the application, and choose Always Allow.

iPhone 6 (iOS 12.4.6)

1. Only While Using the App

2. Always Allow

3. Don’t Allow

Selecting Always Allow is sufficient. If not selected, push notifications will not be delivered until the user manually enables Always in the location settings.


Creating a .gpx File and Adding It to a Project

  1. Download Google Earth Pro.

  2. Use the Ruler tool to create a detailed route.

  3. Download the .gpx file and add it to your Xcode project used for geotesting.

For step-by-step instructions on generating a .gpx file, visit Starpath GPX Guide.