react-native-background-geolocation icon indicating copy to clipboard operation
react-native-background-geolocation copied to clipboard

Enter/exit geofence is not detected in trackingMode Geofences only (iOS)

Open jakub-oone opened this issue 1 year ago â€ĸ 12 comments

Hello,

I am using BGGeolocation demo app. In Geofences only tracking mode on iOS - entering geofence won't even trigger in the foreground. Please see attachments. There is no green arrow on map. It is working on Android, but not on iOS. What I have noticed is that "IS MOVING" parameter is always false in that geofence only mode. The configuration parameters are set to default values.

Please help me figure out what I'm missing that polygon geofence entry/exit was not detected in the BGGeolocation demo app?

We want to use geofence only mode in our SmartGuide app to save battery drain when app is on background.

Thank you.

Jakub SmartGuide

Screenshot 2024-08-14 at 13 14 58 https://tracker.transistorsoft.com/SmartGuide

IMG_5078

background-geolocation.log.gz

jakub-oone avatar Aug 14 '24 11:08 jakub-oone

The issue template is required, not optional:

Your Environment

  • Plugin version:
  • Platform: iOS or Android
  • OS version:
  • Device manufacturer / model:
  • React Native version (react-native -v):
  • Plugin config
PASTE_YOUR_CODE_HERE

Expected Behavior

Actual Behavior

Steps to Reproduce

Context

Debug logs

Logs
PASTE_YOUR_LOGS_HERE

christocracy avatar Aug 14 '24 12:08 christocracy

Your Environment

Plugin version: 4.16.0 Platform: iOS OS version: 17.6.1 Device manufacturer / model: iPhone 12 Pro React Native version (react-native -v): 0.73.0 Plugin config

const state:State = await BackgroundGeolocation.ready({
      // Debug
      reset: false,
      debug: true,
      logLevel: BackgroundGeolocation.LOG_LEVEL_VERBOSE,
      transistorAuthorizationToken: token,
      // Geolocation
      desiredAccuracy: BackgroundGeolocation.DESIRED_ACCURACY_NAVIGATION,
      distanceFilter: 10,
      stopTimeout: 5,
      // Permissions
      locationAuthorizationRequest: 'Always',
      backgroundPermissionRationale: {
        title: "Allow {applicationName} to access this device's location even when closed or not in use.",
        message: "This app collects location data to enable recording your trips to work and calculate distance-travelled.",
        positiveAction: 'Change to "{backgroundPermissionOptionLabel}"',
        negativeAction: 'Cancel'
      },
      // HTTP & Persistence
      autoSync: true,
      maxDaysToPersist: 14,
      // Application
      stopOnTerminate: false,
      startOnBoot: true,
      enableHeadless: true
    });

Expected Behavior

Polygon geofence entry/exit is detected in the BGGeolocation demo app.

Actual Behavior

Polygon geofence entry/exit is not detected in the BGGeolocation demo app.

Steps to Reproduce

  1. run BGGeolocation app - build from https://github.com/transistorsoft/rn-background-geolocation-demo
  2. Advanced App
  3. switch on demo app
  4. Long-press map to add polygone geofences
  5. Walk into geofence polygon zone
  6. no log/no green arrow on map

Debug logs

2024-08-14 11:53:31.341 đŸ”ĩ-[TSLocationManager onHeartbeat] Heartbeat

2024-08-14 11:53:31.347 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 11:53:31.347 â„šī¸-[TSDBLogger db_delete] maxAge: 604800

2024-08-14 11:53:31.365 ✅-[BackgroundTaskManager createBackgroundTask] 20

2024-08-14 11:53:31.366 đŸ”ĩ-[TSLocationManager getCurrentPosition:]

2024-08-14 11:53:31.366 🎾-[LocationManager startUpdatingLocation] ON

2024-08-14 11:53:31.454 đŸ”ĩ-[TSLocationManager onResume:] enabled? 1

2024-08-14 11:53:31.454 â„šī¸-[LocationDAO purge:] 1

2024-08-14 11:53:31.461 📍<+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:29 Central European Summer Time

2024-08-14 11:53:31.461 ╔═══════════════════════════════════════════════════════════ ║ -[LocationManager locationManager:didUpdateLocations:] Sample 1 of 2 (2368 ms old) ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:31.462 📍<+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:31 Central European Summer Time

2024-08-14 11:53:31.462 🔴-[LocationManager stopUpdatingLocation] OFF

2024-08-14 11:53:31.462 ╔═══════════════════════════════════════════════════════════ ║ -[LocationManager locationManager:didUpdateLocations:] Sample 2 of 2 (70 ms old) ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:31.462 â„šī¸-[PolygonGeofencingService setLocation:] Already updating location <IGNORED>

2024-08-14 11:53:31.463 📍<+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:31 Central European Summer Time

2024-08-14 11:53:31.463 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager evaluateProximity:] Found 2 / 2 within 2000 m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:31.466 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 11:53:31.480 đŸ”ĩ-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 35.0

2024-08-14 11:53:31.480 â„šī¸-[PolygonGeofencingService setLocation:] Already updating location <IGNORED>

2024-08-14 11:53:31.480 📍<+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:31 Central European Summer Time

2024-08-14 11:53:31.480 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager evaluateProximity:] Found 2 / 2 within 2000 m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:31.488 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 6F548517-59D0-4695-BD5B-90294ECF46EC

2024-08-14 11:53:31.503 â„šī¸+[LocationAuthorization run:onCancel:] status: 4

2024-08-14 11:53:31.503 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService flush:] ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:31.504 ✅-[BackgroundTaskManager createBackgroundTask] 21

2024-08-14 11:53:31.505 ✅-[TSHttpService schedulePost] LOCKED: 6F548517-59D0-4695-BD5B-90294ECF46EC

2024-08-14 11:53:31.511 ✅-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 20 OF ( 20, 21 )

2024-08-14 11:53:31.511 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService flush:] ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:31.511 âš ī¸-[TSHttpService flush:] Busy with previous request

2024-08-14 11:53:32.156 đŸ”ĩ-[HttpResponse handleResponse] Response: 200

2024-08-14 11:53:32.158 ✅-[TSHttpService post:]_block_invoke DESTROY: 6F548517-59D0-4695-BD5B-90294ECF46EC

2024-08-14 11:53:32.158 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService finish:error:] Success: 1 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:32.158 ✅-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 21 OF ( 21 )

2024-08-14 11:53:34.462 ✅-[BackgroundTaskManager createBackgroundTask] 24

2024-08-14 11:53:34.462 đŸ”ĩ-[TSLocationManager onSuspend:] enabled? 1)

2024-08-14 11:53:34.477 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 11:53:36.193 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:37.144 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:37.427 đŸ”ĩ-[LocationManager locationManager:didChangeAuthorizationStatus:] 3

2024-08-14 11:53:37.429 đŸ”ĩ-[BackgroundTaskManager locationManager:didChangeAuthorizationStatus:] 3

2024-08-14 11:53:37.429 đŸ”ĩ-[LocationManager locationManager:didChangeAuthorizationStatus:] 3

2024-08-14 11:53:37.429 đŸ”ĩ-[PolygonGeofencingService locationManager:didChangeAuthorizationStatus:] 3

2024-08-14 11:53:37.432 đŸ”ĩ-[LocationManager locationManager:didChangeAuthorizationStatus:] 3

2024-08-14 11:53:37.434 â„šī¸-[TSConfig persist]

2024-08-14 11:53:37.437 đŸ”ĩ-[TSLocationManager locationManager:didChangeAuthorizationStatus:] status 3

2024-08-14 11:53:37.442 đŸ”ĩ-[TSLocationManager setPace:] 0

2024-08-14 11:53:37.451 🎾-[TSLocationManager startUpdatingLocation] Location-services: ON

2024-08-14 11:53:37.455 🎾-[TSLocationManager startUpdatingLocation] Location-services: ON

2024-08-14 11:53:37.489 â„šī¸+[LocationAuthorization run:onCancel:] status: 3

2024-08-14 11:53:37.491 âš ī¸-[BackgroundTaskManager stopBackgroundTask:]_block_invoke Failed to find backgroundTask: 10. Ignoring.

2024-08-14 11:53:37.506 â„šī¸+[LocationAuthorization run:onCancel:] status: 3

2024-08-14 11:53:37.506 📍<+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:32 Central European Summer Time

2024-08-14 11:53:37.506 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 0 | df: -1.0m | age: 5480 ms ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:37.506 â„šī¸-[TSLocationManager locationManager:didUpdateLocations:] Received stale motionchange location. Retrying...

2024-08-14 11:53:37.506 📍<+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:37 Central European Summer Time

2024-08-14 11:53:37.506 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 0 | df: -1.0m | age: 48 ms ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:37.506 ✅-[TSLocationManager locationManager:didUpdateLocations:] Acquired motionchange position: <+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:37 Central European Summer Time

2024-08-14 11:53:37.507 đŸ”ĩ-[TSLocationManager startMonitoringStationaryRegion:radius:] Radius: 1000

2024-08-14 11:53:37.508 🔴-[TSLocationManager stopUpdatingLocation]

2024-08-14 11:53:37.508 đŸ”ĩ-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 35.0

2024-08-14 11:53:37.508 â„šī¸-[PolygonGeofencingService setLocation:] Already updating location <IGNORED>

2024-08-14 11:53:37.510 📍<+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:37 Central European Summer Time

2024-08-14 11:53:37.510 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager evaluateProximity:] Found 2 / 2 within 2000 m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:37.522 📍<+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:37 Central European Summer Time

2024-08-14 11:53:37.522 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 0 | df: 10.0m | age: 64 ms ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:37.522 â„šī¸-[TSLocationManager locationManager:didUpdateLocations:] <IGNORED> Δt since last: 0.0s

2024-08-14 11:53:37.522 📍<+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:37 Central European Summer Time

2024-08-14 11:53:37.522 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 0 | df: 10.0m | age: 64 ms ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:37.522 â„šī¸-[TSLocationManager locationManager:didUpdateLocations:] <IGNORED> Δt since last: 0.0s

2024-08-14 11:53:39.344 đŸ”ĩ-[BackgroundTaskManager onResume:] Current preventSuspend tasks: 1

2024-08-14 11:53:39.344 đŸ”ĩ-[TSLocationManager onResume:] enabled? 1

2024-08-14 11:53:39.345 â„šī¸-[LocationDAO purge:] 1

2024-08-14 11:53:39.348 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 11:53:39.349 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService flush:] ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:39.350 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService finish:error:] Success: 1 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:41.285 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:41.502 âš ī¸-[LocationManager onTimeout:] Using last-known location <+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:31 Central European Summer Time

2024-08-14 11:53:41.503 ✅-[LocationManager onTimeout:] Returning best available location sample

2024-08-14 11:53:41.503 â„šī¸-[PolygonGeofencingService setLocation:] Already updating location <IGNORED>

2024-08-14 11:53:41.504 📍<+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:31 Central European Summer Time

2024-08-14 11:53:41.504 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager evaluateProximity:] Found 2 / 2 within 2000 m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:54.334 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:55.923 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:53:58.470 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:01.975 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:04.530 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:05.158 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:12.793 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:15.341 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:19.803 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:22.662 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:27.115 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:32.525 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:39.366 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 11:54:40.482 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:44.941 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:47.803 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:50.836 â„šī¸-[TSGeofence initWithIdentifier:radius:latitude:longitude:notifyOnEntry:notifyOnExit:notifyOnDwell:loiteringDelay:extras:vertices:] Calculated polygon containing-geofence: 50.082354, 14.430077, radius: 150.0

2024-08-14 11:54:50.847 â„šī¸-[GeofenceDAO doInsert:geofence:] Polygon_A

2024-08-14 11:54:51.058 📍<+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:31 Central European Summer Time

2024-08-14 11:54:51.058 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager evaluateProximity:] Found 3 / 3 within 2000 m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:51.062 🎾-[TSGeofenceManager startMonitoringGeofence:] Polygon_A

2024-08-14 11:54:51.085 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager handleGeofenceEvent:action:] ENTER containing geofence of polygon: Polygon_A ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:51.085 🎾-[PolygonGeofencingService startMonitoring:] Polygon_A

2024-08-14 11:54:51.087 â„šī¸-[PolygonGeofencingService persistMonitoredPolygons] { "Polygon_A" = 0; }

2024-08-14 11:54:51.087 🎾-[PolygonGeofencingService startUpdatingLocation:]

2024-08-14 11:54:51.096 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081476, 14.430569, acy: 23.1m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:51.096 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 11:54:52.039 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081449, 14.430561, acy: 24.1m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:52.039 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 11:54:53.043 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081508, 14.430621, acy: 18.6m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:54:53.043 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 11:54:53.043 🔴-[PolygonGeofencingService stopUpdatingLocation]

2024-08-14 11:54:59.262 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:03.719 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:06.263 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:14.226 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:20.278 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:26.507 â„šī¸-[TSGeofence initWithIdentifier:radius:latitude:longitude:notifyOnEntry:notifyOnExit:notifyOnDwell:loiteringDelay:extras:vertices:] Calculated polygon containing-geofence: 50.083071, 14.429028, radius: 150.0

2024-08-14 11:55:26.516 â„šī¸-[GeofenceDAO doInsert:geofence:] Polygon_2

2024-08-14 11:55:26.726 📍<+50.08201737,+14.43063352> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:53:31 Central European Summer Time

2024-08-14 11:55:26.726 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager evaluateProximity:] Found 4 / 4 within 2000 m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:26.728 🎾-[TSGeofenceManager startMonitoringGeofence:] Polygon_2

2024-08-14 11:55:26.954 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:31.727 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:35.869 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:37.659 đŸ”ĩ-[BackgroundTaskManager startPreventSuspendTimer:] BG time remaining: 20 | Total tasks: 1

2024-08-14 11:55:37.659 đŸ”ĩ-[TSLocationManager onSuspend:] enabled? 1)

2024-08-14 11:55:37.670 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 11:55:37.778 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:41.598 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:44.782 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:45.417 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:47.743 đŸ”ĩ-[BackgroundTaskManager onPreventSuspendTimer:] Prevent-suspend timer fired! (bg time remaining: 20.123965)

2024-08-14 11:55:47.763 â„šī¸+[LocationAuthorization run:onCancel:] status: 3

2024-08-14 11:55:47.795 🎾-[TSGeofenceManager locationManager:didEnterRegion:] Polygon_2

2024-08-14 11:55:47.797 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager handleGeofenceEvent:action:] ENTER containing geofence of polygon: Polygon_2 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:47.797 🎾-[PolygonGeofencingService startMonitoring:] Polygon_2

2024-08-14 11:55:47.798 â„šī¸-[PolygonGeofencingService persistMonitoredPolygons] { "Polygon_2" = 0; "Polygon_A" = 0; }

2024-08-14 11:55:47.798 🎾-[PolygonGeofencingService startUpdatingLocation:]

2024-08-14 11:55:47.836 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081981, 14.430636, acy: 35.0m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:47.836 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 11:55:47.836 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_2: 0.0%

2024-08-14 11:55:47.836 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081994, 14.430636, acy: 35.0m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:47.836 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 11:55:47.836 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_2: 0.0%

2024-08-14 11:55:47.838 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081997, 14.430635, acy: 35.0m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:47.838 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 11:55:47.838 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_2: 0.0%

2024-08-14 11:55:47.838 🔴-[PolygonGeofencingService stopUpdatingLocation]

2024-08-14 11:55:50.853 đŸ”ĩ-[BackgroundTaskManager startPreventSuspendTimer:] BG time remaining: 27 | Total tasks: 1

2024-08-14 11:55:52.535 đŸ”ĩ-[TSLocationManager onHeartbeat] Heartbeat

2024-08-14 11:55:52.538 ✅-[BackgroundTaskManager createBackgroundTask] 43

2024-08-14 11:55:52.539 đŸ”ĩ-[TSLocationManager getCurrentPosition:]

2024-08-14 11:55:52.539 🎾-[LocationManager startUpdatingLocation] ON

2024-08-14 11:55:52.566 â„šī¸+[LocationAuthorization run:onCancel:] status: 3

2024-08-14 11:55:52.567 📍<+50.08199690,+14.43063549> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:55:47 Central European Summer Time

2024-08-14 11:55:52.567 ╔═══════════════════════════════════════════════════════════ ║ -[LocationManager locationManager:didUpdateLocations:] Sample 1 of 2 (4764 ms old) ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:52.568 đŸ”ĩ-[LocationManager locationManager:didUpdateLocations:] bgTime remaining: 25

2024-08-14 11:55:52.569 📍<+50.08199690,+14.43063549> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:55:52 Central European Summer Time

2024-08-14 11:55:52.569 🔴-[LocationManager stopUpdatingLocation] OFF

2024-08-14 11:55:52.569 ╔═══════════════════════════════════════════════════════════ ║ -[LocationManager locationManager:didUpdateLocations:] Sample 2 of 2 (24 ms old) ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:52.571 đŸ”ĩ-[LocationManager locationManager:didUpdateLocations:] bgTime remaining: 25

2024-08-14 11:55:52.571 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081997, 14.430635, acy: 35.0m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:52.571 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 11:55:52.571 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_2: 0.0%

2024-08-14 11:55:52.574 📍<+50.08199690,+14.43063549> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:55:52 Central European Summer Time

2024-08-14 11:55:52.574 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager evaluateProximity:] Found 4 / 4 within 2000 m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:52.577 đŸ”ĩ-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 35.0

2024-08-14 11:55:52.577 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081997, 14.430635, acy: 35.0m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:52.578 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 11:55:52.578 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_2: 0.0%

2024-08-14 11:55:52.578 📍<+50.08199690,+14.43063549> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 11:55:52 Central European Summer Time

2024-08-14 11:55:52.578 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager evaluateProximity:] Found 4 / 4 within 2000 m ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:52.604 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 1B27F49B-7ED1-4C6D-9907-BEFEFE7EE1E0

2024-08-14 11:55:52.604 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService flush:] ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:52.605 ✅-[BackgroundTaskManager createBackgroundTask] 44

2024-08-14 11:55:52.610 ✅-[TSHttpService schedulePost] LOCKED: 1B27F49B-7ED1-4C6D-9907-BEFEFE7EE1E0

2024-08-14 11:55:52.651 ✅-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 43 OF ( 24, 43, 44 )

2024-08-14 11:55:53.054 đŸ”ĩ-[HttpResponse handleResponse] Response: 200

2024-08-14 11:55:53.065 ✅-[TSHttpService post:]_block_invoke DESTROY: 1B27F49B-7ED1-4C6D-9907-BEFEFE7EE1E0

2024-08-14 11:55:53.065 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService finish:error:] Success: 1 ╚═══════════════════════════════════════════════════════════

2024-08-14 11:55:53.065 ✅-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 44 OF ( 24, 44 )

2024-08-14 11:56:07.952 đŸ”ĩ-[BackgroundTaskManager onPreventSuspendTimer:] Prevent-suspend timer fired! (bg time remaining: 9.997566)

2024-08-14 11:56:07.977 â„šī¸+[LocationAuthorization run:onCancel:] status: 3

2024-08-14 11:56:11.002 đŸ”ĩ-[BackgroundTaskManager onPreventSuspendTimer:] Prevent-suspend timer fired! (bg time remaining: 6.946899)

2024-08-14 11:56:11.020 â„šī¸+[LocationAuthorization run:onCancel:] status: 3

2024-08-14 11:56:13.918 âš ī¸-[BackgroundTaskManager createBackgroundTask]_block_invoke FORCE KILL BACKGROUND TASK: 24, remaining time: 4.031527

2024-08-14 11:56:13.918 ✅-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 24 OF ( 24 )

2024-08-14 12:05:18.454 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 12:05:18.454 â„šī¸-[TSDBLogger db_delete] maxAge: 604800

2024-08-14 12:05:18.487 đŸ”ĩ-[TSLocationManager onResume:] enabled? 1

2024-08-14 12:05:18.491 â„šī¸-[LocationDAO purge:] 1

2024-08-14 12:05:18.493 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 12:05:18.496 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService flush:] ╚═══════════════════════════════════════════════════════════

2024-08-14 12:05:18.496 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService finish:error:] Success: 1 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:05:25.928 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:05:29.114 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:05:29.750 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:06:18.506 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 12:06:38.220 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:06:41.401 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:06:42.362 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:06:44.585 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:06:45.857 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:06:47.128 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:06:51.925 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:10.051 🔴-[TSGeofenceManager locationManager:didExitRegion:] Polygon_2

2024-08-14 12:07:10.051 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager handleGeofenceEvent:action:] EXIT containing geofence of polygon: Polygon_2 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:10.051 🔴-[PolygonGeofencingService stopMonitoring:] Polygon_2

2024-08-14 12:07:10.052 â„šī¸-[PolygonGeofencingService persistMonitoredPolygons] { "Polygon_A" = 0; }

2024-08-14 12:07:12.656 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:17.745 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:18.522 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 12:07:19.339 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:25.065 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:28.054 🎾-[TSGeofenceManager locationManager:didEnterRegion:] Polygon_2

2024-08-14 12:07:28.054 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager handleGeofenceEvent:action:] ENTER containing geofence of polygon: Polygon_2 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:28.054 🎾-[PolygonGeofencingService startMonitoring:] Polygon_2

2024-08-14 12:07:28.055 â„šī¸-[PolygonGeofencingService persistMonitoredPolygons] { "Polygon_2" = 0; "Polygon_A" = 0; }

2024-08-14 12:07:28.055 🎾-[PolygonGeofencingService startUpdatingLocation:]

2024-08-14 12:07:28.068 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081808, 14.430589, acy: 44.1m ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:28.068 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 12:07:28.068 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_2: 0.0%

2024-08-14 12:07:29.042 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081760, 14.430586, acy: 46.6m ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:29.042 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 12:07:29.042 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_2: 0.0%

2024-08-14 12:07:30.044 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081747, 14.430593, acy: 50.5m ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:30.044 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 12:07:30.044 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_2: 0.0%

2024-08-14 12:07:30.044 🔴-[PolygonGeofencingService stopUpdatingLocation]

2024-08-14 12:07:30.477 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:33.658 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:34.301 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:39.276 â„šī¸-[TSDBLogger db_delete] maxAge: 604800

2024-08-14 12:07:49.786 ✅-[BackgroundTaskManager createBackgroundTask] 47

2024-08-14 12:07:49.786 đŸ”ĩ-[TSLocationManager onSuspend:] enabled? 1)

2024-08-14 12:07:49.798 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 12:07:49.944 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:50.911 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:07:52.987 đŸ”ĩ-[BackgroundTaskManager startPreventSuspendTimer:] BG time remaining: 27 | Total tasks: 1

2024-08-14 12:07:54.086 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:08:10.091 đŸ”ĩ-[BackgroundTaskManager onPreventSuspendTimer:] Prevent-suspend timer fired! (bg time remaining: 9.910190)

2024-08-14 12:08:10.122 â„šī¸+[LocationAuthorization run:onCancel:] status: 3

2024-08-14 12:08:13.174 đŸ”ĩ-[BackgroundTaskManager onPreventSuspendTimer:] Prevent-suspend timer fired! (bg time remaining: 6.826696)

2024-08-14 12:08:13.195 â„šī¸+[LocationAuthorization run:onCancel:] status: 3

2024-08-14 12:08:15.094 âš ī¸-[BackgroundTaskManager createBackgroundTask]_block_invoke FORCE KILL BACKGROUND TASK: 47, remaining time: 4.906895

2024-08-14 12:08:15.095 ✅-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 47 OF ( 47 )

2024-08-14 12:11:04.232 đŸ”ĩ-[TSLocationManager onHeartbeat] Heartbeat

2024-08-14 12:11:04.236 ✅-[BackgroundTaskManager createBackgroundTask] 57

2024-08-14 12:11:04.237 đŸ”ĩ-[TSLocationManager getCurrentPosition:]

2024-08-14 12:11:04.237 🎾-[LocationManager startUpdatingLocation] ON

2024-08-14 12:11:04.239 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 12:11:04.271 đŸ”ĩ-[TSLocationManager onResume:] enabled? 1

2024-08-14 12:11:04.280 â„šī¸-[LocationDAO purge:] 1

2024-08-14 12:11:04.282 📍<+50.08197913,+14.43063435> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 12:11:02 Central European Summer Time

2024-08-14 12:11:04.282 ╔═══════════════════════════════════════════════════════════ ║ -[LocationManager locationManager:didUpdateLocations:] Sample 1 of 2 (2027 ms old) ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:04.283 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 12:11:04.287 📍<+50.08197913,+14.43063435> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 12:11:04 Central European Summer Time

2024-08-14 12:11:04.287 🔴-[LocationManager stopUpdatingLocation] OFF

2024-08-14 12:11:04.287 ╔═══════════════════════════════════════════════════════════ ║ -[LocationManager locationManager:didUpdateLocations:] Sample 2 of 2 (34 ms old) ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:04.288 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081979, 14.430634, acy: 35.0m ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:04.288 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 12:11:04.288 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_2: 0.0%

2024-08-14 12:11:04.289 📍<+50.08197913,+14.43063435> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 12:11:04 Central European Summer Time

2024-08-14 12:11:04.289 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager evaluateProximity:] Found 4 / 4 within 2000 m ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:04.308 đŸ”ĩ-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 35.0

2024-08-14 12:11:04.308 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081979, 14.430634, acy: 35.0m ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:04.308 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 12:11:04.308 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_2: 0.0%

2024-08-14 12:11:04.308 📍<+50.08197913,+14.43063435> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 12:11:04 Central European Summer Time

2024-08-14 12:11:04.308 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager evaluateProximity:] Found 4 / 4 within 2000 m ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:04.311 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 18349860-8B40-4C2B-9EE3-94739A371F8E

2024-08-14 12:11:04.312 â„šī¸+[LocationAuthorization run:onCancel:] status: 3

2024-08-14 12:11:04.312 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService flush:] ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:04.313 ✅-[BackgroundTaskManager createBackgroundTask] 58

2024-08-14 12:11:04.315 ✅-[TSHttpService schedulePost] LOCKED: 18349860-8B40-4C2B-9EE3-94739A371F8E

2024-08-14 12:11:04.316 ✅-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 57 OF ( 57, 58 )

2024-08-14 12:11:04.316 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService flush:] ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:04.316 âš ī¸-[TSHttpService flush:] Busy with previous request

2024-08-14 12:11:04.763 đŸ”ĩ-[HttpResponse handleResponse] Response: 200

2024-08-14 12:11:04.772 ✅-[TSHttpService post:]_block_invoke DESTROY: 18349860-8B40-4C2B-9EE3-94739A371F8E

2024-08-14 12:11:04.772 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService finish:error:] Success: 1 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:04.773 ✅-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 58 OF ( 58 )

2024-08-14 12:11:08.717 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:11.585 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:14.310 âš ī¸-[LocationManager onTimeout:] Using last-known location <+50.08197913,+14.43063435> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 12:11:04 Central European Summer Time

2024-08-14 12:11:14.310 ✅-[LocationManager onTimeout:] Returning best available location sample

2024-08-14 12:11:14.310 ╔═══════════════════════════════════════════════════════════ ║ -[PolygonGeofencingService isInPolygon:] 📍 50.081979, 14.430634, acy: 35.0m ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:14.311 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_A: 0.0%

2024-08-14 12:11:14.311 â„šī¸-[PolygonGeofencingService isInPolygon:] --> Polygon_2: 0.0%

2024-08-14 12:11:14.312 📍<+50.08197913,+14.43063435> +/- 35.00m (speed -1.00 mps / course -1.00) @ 14.08.2024, 12:11:04 Central European Summer Time

2024-08-14 12:11:14.312 ╔═══════════════════════════════════════════════════════════ ║ -[TSGeofenceManager evaluateProximity:] Found 4 / 4 within 2000 m ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:14.768 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:16.677 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:23.365 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:32.910 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:35.776 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:40.111 ✅-[BackgroundTaskManager createBackgroundTask] 61

2024-08-14 12:11:40.111 đŸ”ĩ-[TSLocationManager onSuspend:] enabled? 1)

2024-08-14 12:11:40.123 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 12:11:43.340 đŸ”ĩ-[BackgroundTaskManager startPreventSuspendTimer:] BG time remaining: 26 | Total tasks: 1

2024-08-14 12:11:45.642 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:48.830 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:11:49.461 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/100 | isMoving: 0 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:12:00.412 đŸ”ĩ-[BackgroundTaskManager onPreventSuspendTimer:] Prevent-suspend timer fired! (bg time remaining: 9.915421)

2024-08-14 12:12:00.440 â„šī¸+[LocationAuthorization run:onCancel:] status: 3

2024-08-14 12:12:03.472 đŸ”ĩ-[BackgroundTaskManager onPreventSuspendTimer:] Prevent-suspend timer fired! (bg time remaining: 6.855358)

2024-08-14 12:12:03.491 â„šī¸+[LocationAuthorization run:onCancel:] status: 3

2024-08-14 12:12:06.220 âš ī¸-[BackgroundTaskManager createBackgroundTask]_block_invoke FORCE KILL BACKGROUND TASK: 61, remaining time: 4.107723

2024-08-14 12:12:06.220 ✅-[BackgroundTaskManager stopBackgroundTask:]_block_invoke 61 OF ( 61 )

2024-08-14 12:14:50.299 â„šī¸-[TSDBLogger db_delete] maxAge: 604800

2024-08-14 12:14:50.301 đŸ”ĩ-[TSHttpService init]_block_invoke Network: Cellular | Flags: WR -t-----

2024-08-14 12:14:50.315 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 12:14:50.338 đŸ”ĩ-[TSLocationManager onResume:] enabled? 1

2024-08-14 12:14:50.398 â„šī¸-[LocationDAO purge:] 1

2024-08-14 12:14:50.400 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 12:14:50.403 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService flush:] ╚═══════════════════════════════════════════════════════════

2024-08-14 12:14:50.404 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService finish:error:] Success: 1 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:14:50.404 ╔═══════════════════════════════════════════════════════════ ║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/100 | isMoving: 1 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:14:50.404 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService flush:] ╚═══════════════════════════════════════════════════════════

2024-08-14 12:14:50.404 ╔═══════════════════════════════════════════════════════════ ║ -[TSHttpService finish:error:] Success: 1 ╚═══════════════════════════════════════════════════════════

2024-08-14 12:15:50.416 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 12:16:50.429 â„šī¸-[TSDBLogger db_save] Log committed

2024-08-14 12:17:50.444 â„šī¸-[TSDBLogger db_save] Log committed

jakub-oone avatar Aug 14 '24 12:08 jakub-oone

Hello @christocracy , did you have a chance to look into this please? We'd like to use geofencing-only (startGeofences) in our app on background to save the battery as we don't need to get a precise location and just listen on geofence enter events (including smaller polygon geofences as supported by the paid add-on) but as @jakub-oone posted this works for us only on Android and not on iOS when we gave it a try in the demo app. Could you please provide instructions how to set the iOS config in the demo app to make this work?

Buthrakaur avatar Aug 16 '24 09:08 Buthrakaur

Same issue for me. This is related to https://github.com/transistorsoft/react-native-background-geolocation/issues/2015

So here's why this happens, it will help @christocracy releasing an update if he wants to.

startGeofences is not triggering showsBackgroundLocationIndicator even if set to true. If the app doesn't activate the blue IOS icon, that it will simply not work on the background. Starting the plugin with startGeofences instead of start, make the plugin not detect motion change and trigger the showsBackgroundLocationIndicator hence all geofences will be missed unless the app is active.

A simple workaround is to use start instead of startGeofences have very large values for settings like distanceFilter to reduce battery usage.

Ideally @christocracy will release an update to make this work.

sirusbaladi avatar Aug 17 '24 19:08 sirusbaladi

Thanks @sirusbaladi for the workaround suggestion. Could you please provide your point of view @christocracy ? I feel there're at least two options but it should be clear what is the final/accepted one:

  1. it's a known limitation => I think there should be a mention about it in the docs and ideally some warning in the log when the app tries to use startGeofences in background
  2. it's a bug => I think the library may be updated to perform the workaround suggested by @sirusbaladi when the tracking was started using startGeofences and app is switched to background to keep geofencing alive even on background. I'd personally prefer the second option as other features in this library e.g. the polygon geofencing perform similar automagic silently for us.

Buthrakaur avatar Aug 19 '24 09:08 Buthrakaur

So here's why this happens...startGeofences is not triggering showsBackgroundLocationIndicator

@sirusbaladi is wrong. It has nothing to do with showsBackgroundLocationIndicator.

I'm testing this in the iOS simulator and I've found a minor logic bug related to polygon-geofencing and .startGeofences.

A solution will be released this week.

christocracy avatar Aug 19 '24 14:08 christocracy

Since in geofence-only mode, config.isMoving is always false, after entering a polygon, the plugin was taking only 3 samples before turning off location-updates in the PolygonGeofencingService.

christocracy avatar Aug 19 '24 14:08 christocracy

After solving the logic bug, an inexplicable issue was exposed with keeping location-services on in the background in geofences-only mode.

I use multiple instances of CLLocationManager in this SDK, and the Polygon geofence evaluator uses its own distinct instance. For some unknown reason, I could only keep location-services on in the background (witnessed by the blue location-indicator in the statusbar) by also registering that CLLocationManager instance for significant-changes ([locationManager startMonitoringSignificantLocationChanges]). Mystifying and senseless. That took 4.5 days to figure that out.

Polygon geofence-monitoring in geofences-only mode is working.

I will post to a branch in the private repo for you to test.

christocracy avatar Aug 23 '24 17:08 christocracy

@jakub-oone Try testing version 4.17.0-beta.3 from npm.

christocracy avatar Aug 30 '24 13:08 christocracy

@christocracy We did our first quick testing with this version 4.17.0-beta.3 and it looks good on iOS. It works as we expected :-) Thank you!

jakub-oone avatar Sep 02 '24 12:09 jakub-oone

Hello @christocracy , we just realized the issue occurs also on Android 14 when using "geofences only" tracking mode on background (even with geofenceModeHighAccuracy). It looks very similar to the iOS issue which you were able to fix already - the isMoving flag stays false (even when I switched the app to foreground) and also there's no notification for a foreground service. When I switch the mode to "Location + Geofences" the notification appears and all starts working on background. After switching back to "geofences only" the background seems to keep working - probably thanks to the notification which stays. I tested again on the demo app but the same issue occurs even in our app which uses the version 4.17.0-beta.3 so this doesn't seem to be fixed in this version. Could you please look into this on Android 14? image image image image image

Buthrakaur avatar Sep 13 '24 10:09 Buthrakaur

Hello @christocracy , any update on the Android 14 issue, please? It's Pixel 7A phone if it makes any difference..

Buthrakaur avatar Sep 24 '24 12:09 Buthrakaur

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] avatar Oct 25 '24 02:10 github-actions[bot]

This issue was closed because it has been inactive for 14 days since being marked as stale.

github-actions[bot] avatar Nov 09 '24 02:11 github-actions[bot]