Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
jakub-oone opened this issue Aug 14, 2024 · 14 comments
Closed
Labels

Comments

@jakub-oone
Copy link

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

@christocracy
Copy link
Member

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

@jakub-oone
Copy link
Author

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

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

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

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:] Δ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:] Δ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

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

@Buthrakaur
Copy link

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?

@sirusbaladi
Copy link

Same issue for me. This is related to #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.

@Buthrakaur
Copy link

Buthrakaur commented Aug 19, 2024

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.

@christocracy
Copy link
Member

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
Copy link
Member

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.

@transistorsoft transistorsoft deleted a comment from theCoderrrr Aug 20, 2024
@transistorsoft transistorsoft deleted a comment from theCoderrrr Aug 20, 2024
@christocracy
Copy link
Member

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
Copy link
Member

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

@jakub-oone
Copy link
Author

@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!

@transistorsoft transistorsoft deleted a comment from sirusbaladi Sep 2, 2024
@transistorsoft transistorsoft deleted a comment from sirusbaladi Sep 2, 2024
@transistorsoft transistorsoft deleted a comment from sirusbaladi Sep 2, 2024
@transistorsoft transistorsoft deleted a comment from sirusbaladi Sep 2, 2024
@transistorsoft transistorsoft deleted a comment from sirusbaladi Sep 2, 2024
@transistorsoft transistorsoft deleted a comment from sirusbaladi Sep 2, 2024
@transistorsoft transistorsoft deleted a comment from theCoderrrr Sep 2, 2024
@transistorsoft transistorsoft deleted a comment from theCoderrrr Sep 2, 2024
@transistorsoft transistorsoft deleted a comment from theCoderrrr Sep 2, 2024
@transistorsoft transistorsoft deleted a comment from sirusbaladi Sep 2, 2024
@transistorsoft transistorsoft deleted a comment from sirusbaladi Sep 2, 2024
@transistorsoft transistorsoft deleted a comment from sirusbaladi Sep 2, 2024
@transistorsoft transistorsoft deleted a comment from sirusbaladi Sep 2, 2024
@transistorsoft transistorsoft deleted a comment from sirusbaladi Sep 2, 2024
@Buthrakaur
Copy link

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
Copy link

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

Copy link

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

@github-actions github-actions bot added the stale label Oct 25, 2024
Copy link

github-actions bot commented Nov 9, 2024

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

@github-actions github-actions bot closed this as completed Nov 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants