{"id":1828,"url":"https://github.com/AckeeCZ/ReactiveLocation","last_synced_at":"2025-08-02T04:32:38.684Z","repository":{"id":10266983,"uuid":"65153343","full_name":"AckeeCZ/ReactiveLocation","owner":"AckeeCZ","description":"ReactiveCocoa wrapper for CLLocationManager.","archived":true,"fork":false,"pushed_at":"2024-11-07T09:17:46.000Z","size":419,"stargazers_count":24,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-28T08:55:31.226Z","etag":null,"topics":["ios","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AckeeCZ.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-08-07T20:45:19.000Z","updated_at":"2024-11-07T09:18:11.000Z","dependencies_parsed_at":"2025-04-25T00:41:49.941Z","dependency_job_id":null,"html_url":"https://github.com/AckeeCZ/ReactiveLocation","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/AckeeCZ/ReactiveLocation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AckeeCZ%2FReactiveLocation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AckeeCZ%2FReactiveLocation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AckeeCZ%2FReactiveLocation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AckeeCZ%2FReactiveLocation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AckeeCZ","download_url":"https://codeload.github.com/AckeeCZ/ReactiveLocation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AckeeCZ%2FReactiveLocation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268334618,"owners_count":24233793,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ios","swift"],"created_at":"2024-01-05T20:15:56.776Z","updated_at":"2025-08-02T04:32:38.354Z","avatar_url":"https://github.com/AckeeCZ.png","language":"Swift","funding_links":[],"categories":["Reactive Programming"],"sub_categories":["Other free courses","Prototyping","Other Parsing"],"readme":"![ackee|ReactiveLocation](Logo.png)\n\n![Build](https://github.com/AckeeCZ/ReactiveLocation/workflows/Build/badge.svg)\n[![Version](https://img.shields.io/cocoapods/v/ReactiveLocation.svg?style=flat)](http://cocoapods.org/pods/ReactiveLocation)\n[![License](https://img.shields.io/cocoapods/l/ReactiveLocation.svg?style=flat)](http://cocoapods.org/pods/ReactiveLocation)\n[![Platform](https://img.shields.io/cocoapods/p/ReactiveLocation.svg?style=flat)](http://cocoapods.org/pods/ReactiveLocation)\n\n\u003e ⚠️ **This repository is no longer maintained**\n\n## ReactiveSwift wrapper to observe location\n\nOur wrapper automatically asks for permission. It determines what kind of permission your app requires by checking the Info.plist of your app.\n\nBy 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.\n\n## Example usage\n\nFor example usage you can check our example that is part of this repository. \n\nFor simplest cases you are provided a `shared` instance:\n\n```swift\nReactiveLocation.shared.locationProducer().startWithValues { location in\n    print(location)\n}\n```\n\nIf 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):\n\n```swift\nlet reactiveLocation = ReactiveLocation()\nreactiveLocation.locationManager.distanceFilter = 100 // do your custom setup\nreactiveLocation.locationProducer().startWithValues {\n    print($0)\n}\n// store `reactiveLocation` instance somewhere\n```\n\n## Testing support\n\nAll 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.\n\n## Installation\n\n`ReactiveLocation` is available through Carthage so adding it to your Cartfile works just fine.\n\n```ruby\ngithub \"AckeeCZ/ReactiveLocation\"\n```\n\nIf you're not familiar with Carthage, we also support Cocoapods.\n\n```ruby\npod \"ReactiveLocation\"\n```\n\nWell 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`.\n\n## Forking this repository\nIf you use ReactiveLocation in your projects drop us a tweet at [@ackeecz][1] or leave a star here on Github. We would love to hear about it!\n\n## Sharing is caring\nThis tool and repo has been opensourced within our `#sharingiscaring` action when we have decided to opensource our internal projects\n\n## Author\n\n[Ackee](www.ackee.cz) team\n\n## License\n\nReactiveLocation is available under the MIT license. See the LICENSE file for more info.\n\n[1]:\thttps://twitter.com/AckeeCZ\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAckeeCZ%2FReactiveLocation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAckeeCZ%2FReactiveLocation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAckeeCZ%2FReactiveLocation/lists"}