A Swift library for elegantly requesting iOS location permissions with a 3D 360° flyover map view.
STLocationRequest is an iOS library that provides a customizable, visually engaging interface for requesting location permissions from users. It replaces the standard iOS system dialog with an interactive 3D 360° flyover map view, aiming to improve user experience and increase permission grant rates by making the request more appealing.
iOS developers building apps that require location services and want to enhance the user experience of the initial permission request, particularly those targeting apps where location is a core feature.
Developers choose STLocationRequest over the standard iOS permission dialog because it offers a beautiful, customizable UI that can lead to higher user opt-in rates for location services, along with flexible configuration and event handling for seamless integration.
Request the Location Services via a 3D 360° flyover MKMapView 🗺
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Displays 360° flyover maps of over 25 cities and landmarks using FlyoverKit, making permission requests visually appealing and potentially increasing grant rates.
Offers a Configuration struct to customize text, buttons, colors, and map appearance, allowing seamless branding integration as shown in the usage example.
Provides callbacks for authorization responses, button taps, and presentation lifecycle, enabling precise control over user interactions through the onEvent property.
Includes shouldPresentLocationRequestController to conditionally show the dialog only when location services are enabled and authorization is undetermined, optimizing user experience.
The 3D flyover map does not work on iOS Simulators, requiring real devices for full functionality and complicating development testing, as admitted in the README.
Depends on FlyoverKit and SwiftPulse, adding external libraries that must be managed via CocoaPods or Carthage, increasing project complexity and potential conflicts.
Limited to iOS platforms with no support for other operating systems, making it unsuitable for cross-platform projects or apps needing universal solutions.