Release notes Version 2.1.0
-
Pre-configured
CLLocationManager
Support- Pass a pre-configured
CLLocationManager
instance toLocationManagerAsync
for complete control over the location manager's settings.
- Pass a pre-configured
-
Asynchronous Location Streaming
- Stream location updates asynchronously using
AsyncStream
for efficient real-time data handling.
- Stream location updates asynchronously using
-
Customizable Update Strategies
- Choose how location results are retained with the
Strategy
enum:.keepLast
: Retains only the latest location update..keepAll
: Retains all location updates during the session.
- Choose how location results are retained with the
-
Permission Management
- Automatically handles permission requests for location updates, ensuring smooth user experience.
- Detects and handles denied or restricted permissions with error reporting.
-
Background Location Support
- Enables continuous location updates in the background when configured with
allowsBackgroundLocationUpdates
.
- Enables continuous location updates in the background when configured with
-
Stream State Management
- Tracks the current state of location streaming (
idle
orstreaming
). - Supports starting, stopping, and restarting streams with ease.
- Tracks the current state of location streaming (
-
Seamless Integration with SwiftUI
- Inject
LocationStreamer
into SwiftUI views using@EnvironmentObject
for declarative UI updates.
- Inject
-
Custom Initialization Options
- Flexible initialization with parameters for accuracy, activity type, distance filter, and background updates.
-
Error Handling
- Provides descriptive error types, including
CLError
and custom errors for denied permissions or invalid configurations.
- Provides descriptive error types, including