react-native-background-geolocation: [iOS] Location tracking stops about 45 seconds later after app goes into background on real device.

on iOS actual device. Location tracking stops about 45 seconds later after app goes into the background. It works on Android so it is iOS only issue. The Sample App perfectly works on both OS real device. so I’m wondering what’s the difference between our app and the sample app.

Your Environment

Plugin version:

  • “react-native-background-fetch”: “^4.0.5”
  • “react-native-background-geolocation”: “^4.4.4”

Platform: iOS or Android

  • iOS(15.3.1)
  • iPhone 12 Pro
  • React Native version (react-native -v): “react-native”: “~0.63.4”

  • Plugin config

import React, { ReactNode, useEffect, useState, useRef } from 'react'
import { useIntl } from 'react-intl'
import { Alert } from 'react-native'
import BackgroundGeolocation, {
  Location,
  LocationError,
  CurrentPositionRequest,
} from 'react-native-background-geolocation'
import * as Sentry from '@sentry/react-native'

interface Props {
  children: ReactNode
}

interface Coordinates {
  latitude: number
  longitude: number
  timestamp: Date
}

export type useGeoLocationReturnType = {
  locations: Coordinates[]
  lastLocation: null | {
    latitude: number
    longitude: number
  }
  changeMovingState: (willBeMoving: boolean) => void
  clearLocations: () => Promise<void>
  getCurrentLocation: (
    onSucceed: (location: Coordinates) => void,
    onFail?: (error: LocationError) => void,
    options?: CurrentPositionRequest
  ) => void
}

const LOCATION_AVAILABLE_STATES = [
  BackgroundGeolocation.AUTHORIZATION_STATUS_ALWAYS,
  BackgroundGeolocation.AUTHORIZATION_STATUS_WHEN_IN_USE,
]

export const GeolocationContext = React.createContext<useGeoLocationReturnType>(
  {
    locations: [],
    lastLocation: null,
    getCurrentLocation: () => void 0,
    changeMovingState: () => void 0,
    clearLocations: () => Promise.resolve(void 0),
  }
)

export default function GeolocationContextProvider({
  children,
}: Props): JSX.Element {
  const [locations, setLocations] = useState<Coordinates[]>([])
  const lastLocationRef = useRef<useGeoLocationReturnType['lastLocation']>(null)
  const intl = useIntl()

  useEffect(() => {
    BackgroundGeolocation.getProviderState(({ status }) => {
      if (!LOCATION_AVAILABLE_STATES.includes(status)) {
        askLocationServicePermission()
      }
    })

    // https://transistorsoft.github.io/react-native-background-geolocation/interfaces/location.html
    BackgroundGeolocation.onLocation((location) => {
      if (location?.sample || !location.coords) return
      const newLocation = {
        latitude: location.coords.latitude,
        longitude: location.coords.longitude,
        timestamp: new Date(location.timestamp),
      }
      setLocations((prevLocations) => prevLocations.concat(newLocation))
      lastLocationRef.current = newLocation
    })

    // https://github.com/transistorsoft/react-native-background-geolocation/wiki/Philosophy-of-Operation
    // https://transistorsoft.github.io/react-native-background-geolocation/interfaces/config.html
    BackgroundGeolocation.ready(
      {
        maxDaysToPersist: 2,
        debug: true,
        desiredAccuracy: BackgroundGeolocation.DESIRED_ACCURACY_NAVIGATION,
        distanceFilter: 10,
        stationaryRadius: 25, // the plugin enforces 25 as minimum
        logLevel: BackgroundGeolocation.LOG_LEVEL_OFF,
        startOnBoot: true,
        stopOnTerminate: false,
        preventSuspend: true,
        notification: {
          title: intl.formatMessage({
            id: 'useGeolocation.notification_banner_title',
          }),
        },
      },
      (state) => {
        // ⚠️ Do not execute any API method which will require accessing location-services
        // until #ready gets resolved (eg: #getCurrentPosition, #watchPosition, #start).
        if (!state.enabled) {
          BackgroundGeolocation.start()
        }

        BackgroundGeolocation.getLocations().then((_locations: any[]) => {
          const storedLocations: Coordinates[] = _locations.map(
            ({ timestamp, coords }) => ({
              latitude: coords.latitude,
              longitude: coords.longitude,
              timestamp: new Date(timestamp),
            })
          )
          setLocations(storedLocations)
        })
      }
    )

    return (): void => {
      BackgroundGeolocation.removeAllListeners()
      BackgroundGeolocation.stop()
    }
  }, [])

  function getCurrentLocation(
    onSucceed: (location: Coordinates) => void,
    onFail?: (error: LocationError) => void,
    options?: CurrentPositionRequest
  ): void {
    BackgroundGeolocation.getCurrentPosition({
      ...options,
      samples: 1,
      persist: false,
    })
      .then((location: Location) => {
        const {
          timestamp,
          coords: { latitude, longitude },
        } = location
        onSucceed({ latitude, longitude, timestamp: new Date(timestamp) })
      })
      .catch((error: LocationError) => {
        Sentry.captureException(error)
        if (onFail) onFail(error)
      })
  }

  async function askLocationServicePermission(): Promise<void> {
    const status = await BackgroundGeolocation.requestPermission()
    if (LOCATION_AVAILABLE_STATES.includes(status)) {
      BackgroundGeolocation.start()
      return
    }

    Alert.alert(
      intl.formatMessage({ id: 'useGeolocation.ask_permission_alert_title' }),
      intl.formatMessage({ id: 'useGeolocation.ask_permission_alert_description' }),
      [
        {
          text: intl.formatMessage({ id: 'Common.yes' }),
          onPress: askLocationServicePermission,
        },
      ],
      { cancelable: false }
    )
  }

  async function clearLocations(): Promise<void> {
    setLocations([])
    await BackgroundGeolocation.destroyLocations()
  }

  return (
    <GeolocationContext.Provider
      value={{
        locations,
        lastLocation: lastLocationRef.current,
        getCurrentLocation,
        changeMovingState: BackgroundGeolocation.changePace,
        clearLocations,
      }}
    >
      {children}
    </GeolocationContext.Provider>
  )
}

Info.plist

<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
    <string>com.transistorsoft.fetch</string>
</array> 
...
<key>UIBackgroundModes</key>
<array>
    <string>fetch</string>
    <string>location</string>
    <string>processing</string>
</array>

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  [FIRApp configure];

#if defined(FB_SONARKIT_ENABLED) && __has_include(<FlipperKit/FlipperClient.h>)
  InitializeFlipper(application);
#endif
  
  self.moduleRegistryAdapter = [[UMModuleRegistryAdapter alloc] initWithModuleRegistryProvider:[[UMModuleRegistryProvider alloc] init]];
  self.launchOptions = launchOptions;
  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  #ifdef DEBUG
    [self initializeReactNativeApp];
  #else
    EXUpdatesAppController *controller = [EXUpdatesAppController sharedInstance];
    controller.delegate = self;
    [controller startAndShowLaunchScreen:self.window];
  #endif

  [super application:application didFinishLaunchingWithOptions:launchOptions];

  [[TSBackgroundFetch sharedInstance] didFinishLaunching];
  [RNSplashScreen show];
  return YES;
}

Expected Behavior

it keeps tracking locations even in the background state.

Actual Behavior

it perfectly works on simulator but not on real device. it stops tracking locations a few minutes later after the app goes into background.

Steps to Reproduce

I’m (Our company is) using the paid version of plugin, so if I could share our code more in a private thread, I’d appreciate it.

  1. Start location service.
  2. Take the app into the background
  3. Notification(debug: true) appears(Moving: speed, accuracy…) it keeps location tracking for a while.
  4. a minute later… notification appears no more. (location tracking stops)
  5. Bring the app into the foreground, location-tracking starts again.

Context

I’m making a fleet-tracking app that tracks user moves and draws a tracking path. I followed all the required steps and extra setup guide, and it perfectly works on simulator so I wonder what I’m missing to get it work on a real device.

Debug logs

15:48 start tracking on foreground 15:49 move the app in background [TSLocationManager onSuspend] 15:50 come back to foreground [TSLocationManager onResume]

Logs
2022-03-14 15:48:02.048 ✅-[TSLocationManager locationManager:didUpdateLocations:] Acquired motionchange position: <+35.62852112,+139.66697324> +/- 16.26m (speed 0.88 mps / course 107.58) @ 2022/03/14 15:48:02 Japan Standard Time

2022-03-14 15:48:02.048 🔵-[TSLocationManager startMonitoringStationaryRegion:radius:] Radius: 25

2022-03-14 15:48:02.048 🔴-[TSLocationManager stopUpdatingLocation] 

2022-03-14 15:48:02.048 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.3

2022-03-14 15:48:02.055 🔵-[TSLocationManager changePace:] isMoving: 1

2022-03-14 15:48:02.055 🔵-[TSLocationManager setPace:] 1

2022-03-14 15:48:02.056 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 1F238FC5-A322-4700-862A-8DC2D046D5A7

2022-03-14 15:48:02.056 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:02.056 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:02.061 🎾-[TSLocationManager startUpdatingLocation] Location-services: ON

2022-03-14 15:48:02.061 ℹ️+[LocationAuthorization run:onCancel:] status: 3

2022-03-14 15:48:02.069 
📍<+35.62852112,+139.66697324> +/- 16.26m (speed 0.88 mps / course 107.58) @ 2022/03/14 15:48:02 Japan Standard Time

2022-03-14 15:48:02.069 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: -1.0m | age: 0.1s
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:02.069 ✅-[TSLocationManager locationManager:didUpdateLocations:] Acquired motionchange position: <+35.62852112,+139.66697324> +/- 16.26m (speed 0.88 mps / course 107.58) @ 2022/03/14 15:48:02 Japan Standard Time

2022-03-14 15:48:02.069 🎾-[TSLocationManager startUpdatingLocation] Location-services: ON

2022-03-14 15:48:02.069 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 16.3

2022-03-14 15:48:02.070 ℹ️+[LocationAuthorization run:onCancel:] status: 3

2022-03-14 15:48:02.072 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 94EC0726-42B0-4242-B1BC-FAD46D690BB2

2022-03-14 15:48:02.072 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:02.072 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:02.086 
📍<+35.62852446,+139.66696012> +/- 16.26m (speed 0.88 mps / course 108.28) @ 2022/03/14 15:48:01 Japan Standard Time

2022-03-14 15:48:02.086 🔴-[LocationManager stopUpdatingLocation] OFF

2022-03-14 15:48:02.086 
╔═══════════════════════════════════════════════════════════
║ -[LocationManager locationManager:didUpdateLocations:] Sample 3 of 3
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:02.089 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: D1FAFE3B-494C-4F1D-B4F0-5B49C00D4FB5

2022-03-14 15:48:02.089 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:02.089 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:02.625 ℹ️-[TSDBLogger db_save] Log committed

2022-03-14 15:48:04.511 ℹ️-[TSDBLogger db_save] Log committed

2022-03-14 15:48:12.036 
📍<+35.62850271,+139.66708172> +/- 14.26m (speed 0.64 mps / course 97.24) @ 2022/03/14 15:48:12 Japan Standard Time

2022-03-14 15:48:12.036 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 10.0m | age: 0.0s
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:12.036 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 16.3

2022-03-14 15:48:12.042 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 2F53A5E0-002A-4BAE-8A09-073437523DCE

2022-03-14 15:48:12.042 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:12.042 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:22.045 
📍<+35.62849182,+139.66719574> +/- 14.24m (speed 1.14 mps / course 104.55) @ 2022/03/14 15:48:22 Japan Standard Time

2022-03-14 15:48:22.045 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 10.0m | age: 0.0s
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:22.045 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 16.3

2022-03-14 15:48:22.045 ℹ️-[TSConfig persist] 

2022-03-14 15:48:22.049 🔵-[TSConfig incrementOdometer:] 2153.2

2022-03-14 15:48:22.053 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 1CFE7FDF-DB80-4B4B-8CA6-E1656F6FFB57

2022-03-14 15:48:22.056 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:22.056 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:33.037 
📍<+35.62846774,+139.66730871> +/- 14.24m (speed 0.83 mps / course 107.28) @ 2022/03/14 15:48:33 Japan Standard Time

2022-03-14 15:48:33.037 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 10.0m | age: 0.0s
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:33.037 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 16.3

2022-03-14 15:48:33.040 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 5840CBE8-3C20-4A45-A97A-DDD9732B0F72

2022-03-14 15:48:33.041 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:33.041 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:42.038 
📍<+35.62845015,+139.66742908> +/- 14.24m (speed 1.12 mps / course 101.36) @ 2022/03/14 15:48:42 Japan Standard Time

2022-03-14 15:48:42.038 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 10.0m | age: 0.0s
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:42.038 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2022-03-14 15:48:42.038 ℹ️-[TSConfig persist] 

2022-03-14 15:48:42.041 🔵-[TSConfig incrementOdometer:] 2174.8

2022-03-14 15:48:42.044 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 470CBBE3-9A17-4511-A858-6CF5266DC0C2

2022-03-14 15:48:42.049 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:42.049 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:51.046 
📍<+35.62842254,+139.66754613> +/- 14.24m (speed 0.90 mps / course 101.57) @ 2022/03/14 15:48:51 Japan Standard Time

2022-03-14 15:48:51.046 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 10.0m | age: 0.0s
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:51.046 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2022-03-14 15:48:51.048 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 3F9BD7E8-9022-4C53-BEC4-6C5ABA4448AF

2022-03-14 15:48:51.050 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:48:51.050 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:01.034 
📍<+35.62838888,+139.66765468> +/- 14.24m (speed 0.82 mps / course 129.01) @ 2022/03/14 15:49:01 Japan Standard Time

2022-03-14 15:49:01.034 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 10.0m | age: 0.0s
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:01.034 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2022-03-14 15:49:01.034 ℹ️-[TSConfig persist] 

2022-03-14 15:49:01.036 🔵-[TSConfig incrementOdometer:] 2196.4

2022-03-14 15:49:01.045 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 3D5BA772-82FB-4463-9FF7-D7AFDD57178C

2022-03-14 15:49:01.045 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:01.045 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:03.285 🔵-[TSLocationManager onSuspend:] enabled? 1)

2022-03-14 15:49:03.292 ℹ️-[TSDBLogger db_save] Log committed

2022-03-14 15:49:11.037 
📍<+35.62835070,+139.66776432> +/- 14.24m (speed 0.89 mps / course 116.13) @ 2022/03/14 15:49:11 Japan Standard Time

2022-03-14 15:49:11.037 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 10.0m | age: 0.0s
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:11.037 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2022-03-14 15:49:11.039 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 0B1AE1B9-1EED-47F0-92D3-00ED7592186B

2022-03-14 15:49:11.042 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:11.042 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:19.036 
📍<+35.62832757,+139.66787263> +/- 14.24m (speed 0.88 mps / course 98.09) @ 2022/03/14 15:49:19 Japan Standard Time

2022-03-14 15:49:19.036 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 10.0m | age: 0.0s
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:19.036 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2022-03-14 15:49:19.036 ℹ️-[TSConfig persist] 

2022-03-14 15:49:19.039 🔵-[TSConfig incrementOdometer:] 2217.3

2022-03-14 15:49:19.046 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 6DFA5574-E7B9-40BF-99E5-844471413834

2022-03-14 15:49:19.046 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:19.046 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:26.044 
📍<+35.62838869,+139.66795786> +/- 4.73m (speed 1.24 mps / course 36.84) @ 2022/03/14 15:49:26 Japan Standard Time

2022-03-14 15:49:26.045 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 10.0m | age: 0.0s
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:26.045 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2022-03-14 15:49:26.045 ℹ️-[TSConfig persist] 

2022-03-14 15:49:26.046 🔵-[TSConfig incrementOdometer:] 2227.5

2022-03-14 15:49:26.049 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: 8A3CB828-A3D7-44CF-BB07-B66C52B6DD0A

2022-03-14 15:49:26.050 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:26.050 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:34.037 
📍<+35.62845015,+139.66805167> +/- 4.73m (speed 0.88 mps / course 48.97) @ 2022/03/14 15:49:34 Japan Standard Time

2022-03-14 15:49:34.037 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 10.0m | age: 0.0s
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:34.037 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2022-03-14 15:49:34.037 ℹ️-[TSConfig persist] 

2022-03-14 15:49:34.039 🔵-[TSConfig incrementOdometer:] 2238.4

2022-03-14 15:49:34.042 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: DD404229-EA0F-45C0-8792-85F5457C6A17

2022-03-14 15:49:34.044 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:34.044 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:43.077 
📍<+35.62852949,+139.66813010> +/- 4.72m (speed 0.97 mps / course 46.16) @ 2022/03/14 15:49:43 Japan Standard Time

2022-03-14 15:49:43.077 
╔═══════════════════════════════════════════════════════════
║ -[TSLocationManager locationManager:didUpdateLocations:] Enabled: 1 | isMoving: 1 | df: 10.0m | age: 0.1s
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:43.077 🔵-[TSLocationManager calculateMedianLocationAccuracy:] Median location accuracy: 14.2

2022-03-14 15:49:43.077 ℹ️-[TSConfig persist] 

2022-03-14 15:49:43.081 🔵-[TSConfig incrementOdometer:] 2249.8

2022-03-14 15:49:43.088 ✅-[TSLocationManager persistLocation:]_block_invoke INSERT: BF465AD6-2A6F-4220-B53A-6D2D46C50542

2022-03-14 15:49:43.090 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService flush:] 
╚═══════════════════════════════════════════════════════════

2022-03-14 15:49:43.090 
╔═══════════════════════════════════════════════════════════
║ -[TSHttpService finish:error:] Success: 0
╚═══════════════════════════════════════════════════════════

2022-03-14 15:50:12.089 🔵-[TSLocationManager onResume:] enabled? 1

2022-03-14 15:50:12.094 ℹ️-[TSDBLogger db_save] Log committed

2022-03-14 15:50:12.095 ℹ️-[LocationDAO purge:] 2

2022-03-14 15:50:12.100 ℹ️-[TSDBLogger db_save] Log committed

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 17 (2 by maintainers)

Most upvoted comments

Expo and React Native 0.63.

This morning I’m going to test it. Without expo and RN 0.67 all is OK.

Inviato da iPhone

Il giorno 14 mar 2022, alle ore 05:10, shuzo @.***> ha scritto:

@shuzootani can you share your package.json file content here pls?

@ironmanromeo

package.json

“dependencies”: { @./plugin-proposal-private-methods": “^7.14.5”, @./async-storage": “^1.12.1”, @./masked-view": “0.1.10”, @./picker": “^1.8.1”, @./slider": “^3.0.3”, @./analytics": “^12.9.1”, @./app": “^12.9.1”, @./bottom-tabs": “^5.11.11”, @./native": “^5.7.3”, @./stack": “^5.9.0”, @./react-native": “^3.0.1”, “base-64”: “^1.0.0”, “dayjs”: “^1.10.4”, “expo”: “^40.0.0”, “expo-font”: “~8.4.0”, “expo-image-manipulator”: “~8.4.0”, “expo-location”: “~11.0.0”, “expo-media-library”: “~10.0.0”, “expo-notifications”: “^0.9.0”, “expo-task-manager”: “~8.6.0”, “expo-updates”: “~0.4.0”, “firebase”: “7.9.1”, “geolib”: “^3.3.1”, “immer”: “^7.0.9”, “intl”: “^1.2.5”, “lodash.findlast”: “^4.6.0”, “lodash.throttle”: “^4.1.1”, “lottie-ios”: “^3.2.3”, “lottie-react-native”: “^4.0.2”, “native-base”: “^2.15.2”, “react”: “16.13.1”, “react-dom”: “16.13.1”, “react-geocode”: “^0.2.2”, “react-intl”: “^5.20.6”, “react-native”: “~0.63.4”, “react-native-background-fetch”: “^4.0.1”, “react-native-background-geolocation”: “^4.1.1”, “react-native-camera”: “^3.42.2”, “react-native-elements”: “^2.3.2”, “react-native-fast-image”: “^8.3.7”, “react-native-gesture-handler”: “~1.8.0”, “react-native-google-places-autocomplete”: “^1.8.0”, “react-native-hyperlink”: “^0.0.19”, “react-native-idle-timer”: “^2.1.6”, “react-native-image-picker”: “^3.3.2”, “react-native-map-clustering”: “^3.3.9”, “react-native-maps”: “0.27.1”, “react-native-qrcode-svg”: “^6.1.2”, “react-native-reanimated”: “~1.13.0”, “react-native-responsive-screen”: “^1.4.2”, “react-native-safe-area-context”: “3.3.2”, “react-native-safe-module”: “^1.2.0”, “react-native-screens”: “~2.15.0”, “react-native-splash-screen”: “^3.2.0”, “react-native-svg”: “^12.1.1”, “react-native-swipe-list-view”: “^3.2.6”, “react-native-tab-view”: “^2.15.1”, “react-native-toggle-element”: “^1.0.0”, “react-native-unimodules”: “~0.12.0”, “react-native-version-info”: “^1.1.0”, “react-native-video”: “^5.2.0”, “react-native-webview”: “11.0.0”, “react-redux”: “^7.2.1”, “redux”: “^4.0.5”, “sentry”: “^0.1.2”, “styled-components”: “^5.3.0”, “typescript-fsa”: “^3.0.0”, “typescript-fsa-reducers”: “^1.2.2” }, “devDependencies”: { @./core": “^7.13.16”, @./preset-env": “^7.13.15”, @./preset-react": “^7.13.13”, @./runtime": “^7.13.17”, @./jest-dom": “^5.14.1”, @./jest-native": “^4.0.2”, @./react-native": “^7.2.0”, @./user-event": “^13.1.9”, @./base-64": “^1.0.0”, @./enzyme": “^3.10.8”, @./enzyme-adapter-react-16": “^1.0.6”, @./faker": “^5.5.8”, @./geolib": “^2.0.23”, @./jest": “^26”, @./lodash.findlast": “^4.6.6”, @./lodash.throttle": “^4.1.6”, @./qrcode.react": “^1.0.2”, @./react": “~16.9.35”, @./react-geocode": “^0.2.0”, @./react-native": “~0.63.2”, @./react-native-video": “^5.0.11”, @./react-redux": “^7.1.16”, @./react-test-renderer": “^17.0.1”, @./styled-components": “^5.1.9”, @./styled-components-react-native": “^5.1.1”, @./eslint-plugin": “^4.25.0”, @./parser": “^4.25.0”, “babel-jest”: “^26.6.3”, “enzyme”: “^3.11.0”, “enzyme-adapter-react-16”: “^1.15.6”, “eslint”: “^7.27.0”, “eslint-config-airbnb”: “^18.2.1”, “eslint-config-prettier”: “^8.3.0”, “eslint-plugin-import”: “^2.23.3”, “eslint-plugin-jest-dom”: “^3.9.0”, “eslint-plugin-jsx-a11y”: “^6.4.1”, “eslint-plugin-react”: “^7.23.2”, “eslint-plugin-react-hooks”: “^4.2.0”, “faker”: “^5.5.3”, “firestore-jest-mock”: “^0.17.0”, “husky”: “>=6”, “jest”: “^26.6.3”, “jest-environment-node”: “^27.0.3”, “jsdom”: “^16.6.0”, “jsdom-global”: “^3.0.2”, “lint-staged”: “>=10”, “metro-react-native-babel-preset”: “^0.66.0”, “msw”: “^0.35.0”, “node-fetch”: “2.6.2”, “patch-package”: “^6.4.7”, “postinstall-postinstall”: “^2.1.0”, “prettier”: “^2.1.2”, “react-devtools”: “^4.8.2”, “react-test-renderer”: “^16.0.2”, “redux-devtools-extension”: “^2.13.8”, “typescript”: “~4.0.0” }, I’m trying to upgrade react-native version and see how it goes.

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you were mentioned.