RxLocation
An RX wrapper for iOS location. It's simple and powerful.
Usage
Choose a persmission
Choose authorizeWhenInUse
or authorizeAlways
for permission.
var rxLocation = RxLocation(authorization: .authorizeAlways)
Current Location
var rxLocation = RxLocation(authorization: .authorizeAlways)
rxLocation.requestCurrentLocation()
.subscribe(onNext: { location in
print(location)
})
Location Updates
rxLocation.requestLocationUpdates()
.subscribe(onNext: { locations in
print(locations[0])
})
Stop Updates
To stop updates in case of using rxLocation.requestLocationUpdates()
rxLocation.stopLocationUpdates()
Location Manager Options
You can set any options for CLLocationManager, for example:
rxLocation.locationManager.showsBackgroundLocationIndicator = true
Example
To run the example project, clone the repo, and run pod install
from the Example directory first.
Installation
RxLocation is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'RxLocation'
Author
ShabanKamell, [email protected]
License
RxLocation is available under the Apache license v2.0. See the LICENSE file for more info.