ReactiveLocation alternatives and similar libraries
Based on the "Reactive Programming" category.
Alternatively, view ReactiveLocation alternatives based on common mentions on social networks and blogs.
-
OpenCombine
Open source implementation of Apple's Combine framework for processing values over time. -
Tokamak
DISCONTINUED. SwiftUI-compatible framework for building browser apps with WebAssembly and native apps for other platforms [Moved to: https://github.com/TokamakUI/Tokamak] -
Katana
DISCONTINUED. Swift Apps in a Swoosh! A modern framework for creating iOS apps, inspired by Redux. -
Interstellar
DISCONTINUED. Simple and lightweight Functional Reactive Coding in Swift for the rest of us. :large_orange_diamond: -
Verge
๐ฃ A robust Swift state-management framework designed for complex applications, featuring an integrated ORM for efficient data handling. -
VueFlux
:recycle: Unidirectional State Management Architecture for Swift - Inspired by Vuex and Flux -
RxReduce
DISCONTINUED. Lightweight framework that ease the implementation of a state container pattern in a Reactive Programming compliant way. -
LightweightObservable
๐ฌ A lightweight implementation of an observable sequence that you can subscribe to. -
ReactiveArray
An array class implemented in Swift that can be observed using ReactiveCocoa's Signals -
RxAlamoRecord
RxAlamoRecord combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with API's easier than ever reactively. -
STDevRxExt
STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy.
InfluxDB high-performance time series database

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of ReactiveLocation or a related project?
README
[ackee|ReactiveLocation](Logo.png)
ReactiveSwift wrapper to observe location
Our wrapper automatically asks for permission. It determines what kind of permission your app requires by checking the Info.plist of your app.
By using our wrapper you can use a single instance of CLLocationManager
and it will automatically start and stop updating location based on the number of observers so your app doesn't drain device battery unnecessarily.
Example usage
For example usage you can check our example that is part of this repository.
For simplest cases you are provided a shared
instance:
ReactiveLocation.shared.locationProducer().startWithValues { location in
print(location)
}
If you need more different setups for your CLLocationManager
you can create additional instances simply by creating new instances of ReactiveLocation
and adding your desired setup to the locationManager
which is provided to you (but it's up to you to make sure that the instance is alive as long as you need it):
let reactiveLocation = ReactiveLocation()
reactiveLocation.locationManager.distanceFilter = 100 // do your custom setup
reactiveLocation.locationProducer().startWithValues {
print($0)
}
// store `reactiveLocation` instance somewhere
Testing support
All features of ReactiveLocation
are wrapped into ReactiveLocationService
protocol so you should use this protocol as dependency inside your project so you're able to inject any testing implementation you like.
Installation
ReactiveLocation
is available through Carthage so adding it to your Cartfile works just fine.
github "AckeeCZ/ReactiveLocation"
If you're not familiar with Carthage, we also support Cocoapods.
pod "ReactiveLocation"
Well if you're not familiar with any dependency manager, you're free to integrate it manually. ๐ But keep in mind that we depend on ReactiveSwift
.
Forking this repository
If you use ReactiveLocation in your projects drop us a tweet at @ackeecz or leave a star here on Github. We would love to hear about it!
Sharing is caring
This tool and repo has been opensourced within our #sharingiscaring
action when we have decided to opensource our internal projects
Author
[Ackee](www.ackee.cz) team
License
ReactiveLocation is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the ReactiveLocation README section above
are relevant to that project's source code only.