A block-based iOS library for easy, power-efficient location and heading requests with automatic permission handling.
INTULocationManager is an iOS library that simplifies getting the device's current location and heading. It provides a block-based asynchronous API to request location data once or continuously, handling permissions, accuracy levels, timeouts, and power management automatically. It solves the complexity of using Apple's CLLocationManager directly for common location tasks.
iOS developers building apps that require location features, such as weather apps, mapping services, fitness trackers, or any application needing to determine or track the user's position.
Developers choose INTULocationManager because it dramatically reduces the boilerplate and complexity of Core Location, offers fine-grained control over accuracy and timeouts, and intelligently manages battery usage—all through a clean, modern API that works seamlessly in both Objective-C and Swift.
Easily get the device's current location on iOS.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Replaces Core Location's verbose delegate pattern with clean block callbacks, simplifying asynchronous code for location requests as highlighted in the README.
Dynamically starts and stops location services based on active requests, minimizing battery drain by using optimal accuracy settings.
Supports configurable accuracy levels from Room to City and custom timeouts for one-time requests, giving precise control over location data.
Handles one-time, continuous, significant change, and heading updates internally, efficiently managing simultaneous requests.
Does not abstract Core Location features like geofencing or beacon monitoring, forcing developers to use raw APIs for those needs.
Active requests are canceled on app termination, requiring manual re-subscription for significant location changes in background launches, as noted in the README.
Written in Objective-C, which may not integrate seamlessly into Swift-centric projects despite bridging support, adding dependency overhead.