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

[Help Wanted]: IOS Background Location Tracking Stops 12 Seconds After Internet Loss

Open yogeshprabu28 opened this issue 5 months ago • 12 comments

Required Reading

  • [x] Confirmed

Plugin Version

^4.18.6

Mobile operating-system(s)

  • [x] iOS
  • [ ] Android

Device Manufacturer(s) and Model(s)

iPhone 11

Device operating-systems(s)

iOS 18.5 and iOS 26.0(beta)

React Native / Expo version

0.79.1

What do you require assistance about?

Issue Summary

We are transitioning our fitness app’s location tracking logic from “Always Allow” to “While in Use” permission. After updating the configuration and switching from watchPosition to onLocation listeners, we encountered a critical issue affecting background tracking.

Observed Behavior • Location tracking works as expected in the background as long as the device is connected to a Wi-Fi network or has stable network connectivity. • However, when the device connects to a home Wi-Fi router and the user moves out of range, causing a Wi-Fi disconnect: • After exactly 12 seconds, the blue location indicator (pill) in the status bar disappears. • No further updates are received through the onLocation listener. • Background location tracking stops entirely.

Additional Notes • The current live app uses watchPosition with “Always Allow” permission and does not rely on onLocation. Under these conditions, background tracking works flawlessly—even when the Wi-Fi disconnects. • This issue is specific to the use of “While in Use” permission combined with onLocation. • The app remains active in the background — it is not suspended or terminated.

Expected Behavior

With “While in Use” permission, the app should continue receiving background location updates while an activity is in progress — even if Wi-Fi disconnects unexpectedly.

[Optional] Plugin Code and/or Config

useEffect(() => {
    BackgroundGeolocation.ready({
      desiredAccuracy: BackgroundGeolocation.DESIRED_ACCURACY_HIGH,
      distanceFilter: 3, // Very frequent updates for fitness tracking
      stopTimeout: 10, // Keep short for "When In Use"
      locationAuthorizationRequest: 'WhenInUse', // Strava uses this
      pausesLocationUpdatesAutomatically: false, // Keep tracking continuously like Strava
      useSignificantChangesOnly: false,
      showsBackgroundLocationIndicator: true, // Blue indicator will show (this is normal)
      activityType: BackgroundGeolocation.ACTIVITY_TYPE_FITNESS,
      // These settings match how Strava works
      enableHeadless: false, // Not needed for "When In Use"
      startOnBoot: false,
      heartbeatInterval: 60, // Less aggressive for "When In Use"
      stationaryRadius: 20,
      disableStopDetection: true, // Important - don't auto-stop during workouts
      // iOS specific settings for "When In Use" mode
      disableElasticity: false,
      elasticityMultiplier: 1,
      geofenceProximityRadius: 1000,
      maxDaysToPersist: 1,
      // Updated permission rationale for "When In Use"
      backgroundPermissionRationale: {
        title: 'Location permission required',
        message:
          'This app tracks your activity location during workouts. Location tracking continues while workout is active, even when app is in background.',
        positiveAction: 'Continue with "While Using App"',
        negativeAction: 'Cancel',
      },
      logLevel: BackgroundGeolocation.LOG_LEVEL_VERBOSE,
      debug: true, // <-- enable debug sounds/notifications
    }).then(state => {
      console.log('[BGGeo] Ready state: ', state);
    });

   
// --- Location listener
    const locationSubscription = BackgroundGeolocation.onLocation(
      location => {
        console.log('[onLocation]', location);
        const coords = location.coords;
        const locations = {
          coords: {
            accuracy: coords.accuracy,
            altitude: coords.altitude,
            altitudeAccuracy: coords.altitude_accuracy,
            heading: coords.heading,
            latitude: coords.latitude,
            longitude: coords.longitude,
            speed: coords.speed,
            timestamp: new Date().getTime(),
          },
          timestamp: new Date().getTime(),
        };
        if (coords.accuracy < 50) {
          disLocation.push(JSON.parse(JSON.stringify(locations)));
          // dispatch(setLocationListForApi(locations));
          // dispatch(setLocationList(coords));
          addToApiLocationList(locations);
          addToLocationList(coords);
          const disObj = distanceCalculation(
            getLocalDateBits(startTime).d,
            getLocalDateBits(startTime).t,
            getUtcOffset(),
            disLocation,
          );
          setDistance(disObj.distanceKm);
        }
      },
      error => {
        console.log('[onLocation] ERROR:', error);
      },
    );
    // --- Motion change listener
    const motionSubscription = BackgroundGeolocation.onMotionChange(event => {
      console.log('[onMotionChange]', event);
    });
    // Cleanup on unmount
    return () => {
      locationSubscription.remove();
      motionSubscription.remove();
    };
  }, []);


  // start / stop BackgroundGeolocation ios
  useEffect(() => {
    if (enabled) {
      BackgroundGeolocation.start().then(() => {
        BackgroundGeolocation.changePace(true);
        console.log('Started location tracking - will continue in background');
        logInfo('🎯 Location Tracking Started', {
          willContinueInBackground: true,
          blueIndicatorExpected: true,
          whenInUsePermission: true,
        });
      });
    } else {
      BackgroundGeolocation.changePace(false);
      BackgroundGeolocation.stop();
      setLocation('');
      logInfo('⏹️ Location Tracking Stopped');
    }
  }, [enabled]);

[Optional] Relevant log output

2025-06-18 22:07:47.269 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager start] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:47.269 ℹ️-[TSLocationManager doStart:] trackingMode: 1

2025-06-18 22:07:47.269 ℹ️-[TSConfig persist] 

2025-06-18 22:07:47.270 🎾-[TSGeofenceManager start] 

2025-06-18 22:07:47.272 🎾-[SOMotionDetector startDetection] 

2025-06-18 22:07:47.272 🔵-[TSLocationManager setPace:] 0

2025-06-18 22:07:47.274 🎾-[TSLocationManager startUpdatingLocation] Location-services: ON

2025-06-18 22:07:47.274 🎾-[TSLocationManager startMonitoringSignificantLocationChanges] 

2025-06-18 22:07:47.277 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:47.277 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:47.278 ℹ️-[TSConfig persist] 

2025-06-18 22:07:47.279 🔵-[TSLocationManager changePace:] isMoving: 1

2025-06-18 22:07:47.279 🔵-[TSLocationManager setPace:] 1

2025-06-18 22:07:47.288 ℹ️+[LocationAuthorization run:onCancel:] status: 4

2025-06-18 22:07:47.288 ✅-[SOMotionDetector startDetection]_block_invoke Enabled M7 MotionActivity updates

2025-06-18 22:07:47.289 🎾-[TSLocationManager startMonitoringBackgroundFetch] BackgroundFetch: ON

2025-06-18 22:07:47.300 
📍<+12.96439839,+77.63824033> +/- 18.64m (speed -1.00 mps / course -1.00) @ 18/06/25, 10:07:45 PM India Standard Time

2025-06-18 22:07:47.300 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: -1.0m | age: 2058 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:47.300 ✅-[TSLocationManager locationManager:didUpdateLocations:] Acquired motionchange position: <+12.96439839,+77.63824033> +/- 18.64m (speed -1.00 mps / course -1.00) @ 18/06/25, 10:07:45 PM India Standard Time

2025-06-18 22:07:47.300 🎾-[TSLocationManager startUpdatingLocation] Location-services: ON

2025-06-18 22:07:47.300 🎾-[TSLocationManager startMonitoringSignificantLocationChanges] 

2025-06-18 22:07:47.300 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 18.6

2025-06-18 22:07:47.300 
📍<+12.96439840,+77.63824039> +/- 18.67m (speed -1.00 mps / course -1.00) @ 18/06/25, 10:07:47 PM India Standard Time

2025-06-18 22:07:47.300 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 10 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:47.300 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 18.7

2025-06-18 22:07:47.302 ℹ️-[TSLocationManager startMonitoringBackgroundFetch]_block_invoke Configured BackgroundFetch

2025-06-18 22:07:47.302 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | still/33 | isMoving: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:47.302 🎾-[TSLocationManager startUpdatingLocation] Location-services: ON

2025-06-18 22:07:47.302 🎾-[TSLocationManager startMonitoringSignificantLocationChanges] 

2025-06-18 22:07:47.305 ✅-[LocationDAO unlock]_block_invoke UNLOCKED ALL RECORDS

2025-06-18 22:07:47.307 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: E37D81A2-8969-4854-8F8B-E75BFDF31479

2025-06-18 22:07:47.309 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 36A77009-789B-4B3C-90F9-6B1FCB2893D1

2025-06-18 22:07:47.310 ℹ️+[LocationAuthorization run:onCancel:] status: 4

2025-06-18 22:07:47.310 
📍<+12.96439839,+77.63824039> +/- 18.54m (speed -1.00 mps / course -1.00) @ 18/06/25, 10:07:47 PM India Standard Time

2025-06-18 22:07:47.310 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: -1.0m | age: 19 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:47.310 ℹ️-[TSLocationManager locationManager:didUpdateLocations:] <IGNORED> Δt since last: 0.0s

2025-06-18 22:07:47.314 ℹ️+[LocationAuthorization run:onCancel:] status: 4

2025-06-18 22:07:47.314 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:47.315 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:47.315 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:47.315 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:49.094 🔵-[TSLocationManager onSuspend:] enabled? 1)

2025-06-18 22:07:49.100 ℹ️-[TSDBLogger db_save] Log committed

2025-06-18 22:07:53.290 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/66 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:53.313 
📍<+12.96439837,+77.63824034> +/- 15.47m (speed -1.00 mps / course -1.00) @ 18/06/25, 10:07:53 PM India Standard Time

2025-06-18 22:07:53.313 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: -1.0m | age: 8 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:53.313 🔵-[TSLocationManager locationManager:didUpdateLocations:] Updated distanceFilter, new: 3.000000, old: -1.000000

2025-06-18 22:07:53.313 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 18.6

2025-06-18 22:07:53.320 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 1B0F2131-57C0-4FFD-8B67-61B459592CC8

2025-06-18 22:07:53.320 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:53.320 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:07:55.853 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/66 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:00.964 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/66 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:06.083 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/66 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:11.199 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/66 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:16.321 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/100 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:20.784 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/100 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:21.136 
📍<+12.96442162,+77.63826073> +/- 17.32m (speed 0.25 mps / course -1.00) @ 18/06/25, 10:08:20 PM India Standard Time

2025-06-18 22:08:21.136 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 155 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:21.136 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 18.0

2025-06-18 22:08:21.159 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 7D024E31-C225-46A4-BDE9-E84BBC94D093

2025-06-18 22:08:21.159 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:21.159 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:21.432 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/66 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:23.130 
📍<+12.96445143,+77.63829728> +/- 14.12m (speed 0.40 mps / course 103.60) @ 18/06/25, 10:08:22 PM India Standard Time

2025-06-18 22:08:23.130 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 148 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:23.130 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 17.3

2025-06-18 22:08:23.137 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 2FA60827-2AE3-469C-A942-AA2F2F1E198C

2025-06-18 22:08:23.137 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:23.137 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:23.990 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/66 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:26.858 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/66 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:29.106 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/100 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:32.131 
📍<+12.96442274,+77.63830435> +/- 10.91m (speed 0.78 mps / course 166.52) @ 18/06/25, 10:08:31 PM India Standard Time

2025-06-18 22:08:32.131 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 151 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:32.132 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 16.4

2025-06-18 22:08:32.137 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 89E6A85C-650C-4B52-A56D-FAF97307BBBF

2025-06-18 22:08:32.137 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:32.137 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:37.132 
📍<+12.96439209,+77.63830477> +/- 14.25m (speed 0.85 mps / course 186.56) @ 18/06/25, 10:08:36 PM India Standard Time

2025-06-18 22:08:37.132 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 151 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:37.132 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 15.5

2025-06-18 22:08:37.139 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 091C81F6-20E7-40CF-9DB1-D2108BE7B3F3

2025-06-18 22:08:37.139 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:37.139 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:40.132 
📍<+12.96436594,+77.63829473> +/- 14.25m (speed 0.99 mps / course 196.72) @ 18/06/25, 10:08:39 PM India Standard Time

2025-06-18 22:08:40.132 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 152 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:40.132 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.9

2025-06-18 22:08:40.149 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 02477B03-700D-47B1-B0FF-AAB90E819579

2025-06-18 22:08:40.149 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:40.149 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:44.131 
📍<+12.96434312,+77.63827665> +/- 14.25m (speed 0.70 mps / course 198.38) @ 18/06/25, 10:08:43 PM India Standard Time

2025-06-18 22:08:44.131 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 151 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:44.133 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2025-06-18 22:08:44.153 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 41C12924-B05F-4DCD-8E67-84171BD89F1C

2025-06-18 22:08:44.153 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:44.153 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:50.105 ℹ️-[TSDBLogger db_save] Log committed

2025-06-18 22:08:50.133 
📍<+12.96430757,+77.63828524> +/- 14.25m (speed 0.65 mps / course 160.69) @ 18/06/25, 10:08:49 PM India Standard Time

2025-06-18 22:08:50.133 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 153 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:50.133 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2025-06-18 22:08:50.141 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 7B4131C6-065F-48C7-A401-5E6258E6E5B5

2025-06-18 22:08:50.143 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:50.143 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:55.134 
📍<+12.96429021,+77.63826222> +/- 14.25m (speed 0.41 mps / course -1.00) @ 18/06/25, 10:08:54 PM India Standard Time

2025-06-18 22:08:55.134 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 154 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:55.135 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2025-06-18 22:08:55.153 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: D24928E2-A7EA-43C5-8FF6-C53994781251

2025-06-18 22:08:55.154 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:08:55.154 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:09:00.135 
📍<+12.96424920,+77.63825268> +/- 18.73m (speed 0.67 mps / course 165.19) @ 18/06/25, 10:08:59 PM India Standard Time

2025-06-18 22:09:00.135 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 154 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:09:00.135 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2025-06-18 22:09:00.154 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: FFB909B8-8E36-4698-86F4-A4D55EB997E8

2025-06-18 22:09:00.154 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:09:00.154 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:09:00.855 🔵-[TSHttpService init]_block_invoke Network: No Connection | Flags: -- -------

2025-06-18 22:09:05.131 
📍<+12.96421085,+77.63822534> +/- 27.98m (speed 0.69 mps / course 172.78) @ 18/06/25, 10:09:04 PM India Standard Time

2025-06-18 22:09:05.131 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 151 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:09:05.131 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2025-06-18 22:09:05.137 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: DC5F8D4D-81B7-436B-AB4C-C0F75854A6D9

2025-06-18 22:09:05.137 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:09:05.137 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:09:08.131 
📍<+12.96419364,+77.63819255> +/- 21.56m (speed 0.65 mps / course 182.60) @ 18/06/25, 10:09:07 PM India Standard Time

2025-06-18 22:09:08.131 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 151 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:09:08.131 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2025-06-18 22:09:08.131 ℹ️-[TSConfig persist] 

2025-06-18 22:09:08.132 🔵-[TSConfig incrementOdometer:] 4084.2

2025-06-18 22:09:08.139 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 89ACB33C-6F55-4A80-98E7-BF8D4F4A9E40

2025-06-18 22:09:08.139 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:09:08.139 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:10:36.678 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/100 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:10:37.030 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/100 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:28.302 🔵-[TSHttpService init]_block_invoke Network: WiFi | Flags: -R -------

2025-06-18 22:13:28.321 ℹ️-[TSDBLogger db_save] Log committed

2025-06-18 22:13:28.326 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/66 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:28.686 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/66 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:33.813 🔵-[TSLocationManager onResume:] enabled? 1

2025-06-18 22:13:33.819 ℹ️-[LocationDAO purge:] 1

2025-06-18 22:13:33.827 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:33.827 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:33.828 ℹ️-[TSDBLogger db_save] Log committed

2025-06-18 22:13:33.898 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/66 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:34.031 
📍<+12.96443423,+77.63824989> +/- 16.17m (speed -1.00 mps / course -1.00) @ 18/06/25, 10:13:28 PM India Standard Time

2025-06-18 22:13:34.031 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 5693 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:34.032 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2025-06-18 22:13:34.032 ℹ️-[TSConfig persist] 

2025-06-18 22:13:34.035 🔵-[TSConfig incrementOdometer:] 4111.5

2025-06-18 22:13:34.041 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: E2781F5F-028B-4EDA-9660-DA6FCEADDA23

2025-06-18 22:13:34.041 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:34.041 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:34.051 
📍<+12.96443423,+77.63824989> +/- 16.17m (speed -1.00 mps / course -1.00) @ 18/06/25, 10:13:34 PM India Standard Time

2025-06-18 22:13:34.051 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 3.0m | age: 23 ms
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:34.051 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2025-06-18 22:13:34.056 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 4006D9F7-C77E-4F6C-8B21-458E1B7B65ED

2025-06-18 22:13:34.056 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:34.056 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:35.405 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager createMotionTypeChangedHandler]_block_invoke | on_foot/66 | isMoving: 1
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:37.323 ℹ️-[TSConfig persist] 

2025-06-18 22:13:37.325 🔵-[TSLocationManager changePace:] isMoving: 0

2025-06-18 22:13:37.325 🔵-[TSLocationManager setPace:] 0

2025-06-18 22:13:37.327 🎾-[TSLocationManager startUpdatingLocation] Location-services: ON

2025-06-18 22:13:37.327 🎾-[TSLocationManager startMonitoringSignificantLocationChanges] 

2025-06-18 22:13:37.327 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager stop] 
╚═══════════════════════════════════════════════════════════

2025-06-18 22:13:37.327 ℹ️-[TSConfig persist] 

2025-06-18 22:13:37.330 ℹ️+[LocationAuthorization run:onCancel:] status: 4

2025-06-18 22:13:37.330 ℹ️-[TSLocationManager clearLastOdometerLocation] 

2025-06-18 22:13:37.331 🔴-[TSGeofenceManager stop] 

yogeshprabu28 avatar Jun 18 '25 14:06 yogeshprabu28