Description
Indoor positioning using Situm SDK in a React Native application is unreliable on iOS devices. Location updates are inconsistent, inaccurate, or sometimes not received at all, even after granting the required permissions.
Observed Issues (iOS)
Position not detected or takes too long to initialize
Location updates stop intermittently
Inaccurate positioning (incorrect area or floor)
Delayed updates compared to real movement
Positioning works inconsistently across sessions
Occasional UI lag when positioning starts
Expected Behavior
Accurate indoor positioning
Continuous real-time location updates
Fast initialization after starting positioning
Stable performance across iOS devices
Environment
Platform: iOS (React Native) 0.85.2
Situm SDK Version: 3.18.16
Devices: iPhone 11 (and others)
iOS Version: 26.5
Steps to Reproduce
Launch the application on an iOS device
Grant required permissions (Location and Bluetooth)
Ensure Bluetooth and WiFi are enabled
Start Situm positioning
Observe inconsistent or missing location updates
Possible Causes (iOS-specific)
Precise Location disabled
Missing or incorrect Info.plist keys for Location and Bluetooth
iOS restrictions on Bluetooth and WiFi scanning
Improper positioning lifecycle (multiple startPositioning calls)
Listener not properly attached or retained
App state transitions affecting updates (background/foreground)
JavaScript thread blocking causing delayed callbacks
Additional Notes
Issue persists even when permissions are granted
Behavior varies between sessions
More noticeable during initial positioning
Request
Guidance is needed on:
Correct iOS configuration (Info.plist and permissions)
Reliable positioning lifecycle in React Native
Improving accuracy and consistency of location updates on iOS
Description
Indoor positioning using Situm SDK in a React Native application is unreliable on iOS devices. Location updates are inconsistent, inaccurate, or sometimes not received at all, even after granting the required permissions.
Observed Issues (iOS)
Position not detected or takes too long to initialize
Location updates stop intermittently
Inaccurate positioning (incorrect area or floor)
Delayed updates compared to real movement
Positioning works inconsistently across sessions
Occasional UI lag when positioning starts
Expected Behavior
Accurate indoor positioning
Continuous real-time location updates
Fast initialization after starting positioning
Stable performance across iOS devices
Environment
Platform: iOS (React Native) 0.85.2
Situm SDK Version: 3.18.16
Devices: iPhone 11 (and others)
iOS Version: 26.5
Steps to Reproduce
Launch the application on an iOS device
Grant required permissions (Location and Bluetooth)
Ensure Bluetooth and WiFi are enabled
Start Situm positioning
Observe inconsistent or missing location updates
Possible Causes (iOS-specific)
Precise Location disabled
Missing or incorrect Info.plist keys for Location and Bluetooth
iOS restrictions on Bluetooth and WiFi scanning
Improper positioning lifecycle (multiple startPositioning calls)
Listener not properly attached or retained
App state transitions affecting updates (background/foreground)
JavaScript thread blocking causing delayed callbacks
Additional Notes
Issue persists even when permissions are granted
Behavior varies between sessions
More noticeable during initial positioning
Request
Guidance is needed on:
Correct iOS configuration (Info.plist and permissions)
Reliable positioning lifecycle in React Native
Improving accuracy and consistency of location updates on iOS