AMZLocationManager 1.0.2

AMZLocationManager 1.0.2

Maintained by James Hickman.



AMZLocationManager

CI Status Version License Platform Beerpay Beerpay

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

iOS 11.0+

Installation

AMZLocationManager is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'AMZLocationManager'

Usage

Setup

let locationManager = AMZLocationManager()

Observe Authorization Status Changes

locationManager.locationAuthorizationUpdatedBlock = { (authorizationStatus) in
    DispatchQueue.main.async { [weak self] in
        self?.tableView.reloadData()
    }
}

Observe Location Changes

locationManager.locationUpdatedBlock = { (location) in
    DispatchQueue.main.async { [weak self] in
        if location != nil { // Don't reload when clearing existing text or it will end editing.
            self?.tableView.reloadData()
        }
    }
}

Properties

isLocationUpdating: Returns true if the locationManager is updating the location. (Read-Only)

currentLocation: Returns the user's current or custom CLLocation. (Read-Only)

currentAddress: Returns the address for the user's current or custom CLLocation. (Read-Only)

useCustomLocation: Toggle this property if you want to use a custom location. (i.e. Allowing the user to enter an address)

distanceFilter: Change this property to determine the radius in miles for which a user must move for locations to update. (Default: 1 mile)

desiredAccuracy: Change this property to determine the accuracy for which a user's location should be tracked. (Default: kCLLocationAccuracyHundredMeters)

Functions

Requests the location always permission using the native iOS prompt.

func requestLocationAlwaysPermission() -> Bool

Requests the location when in use permission using the native iOS prompt.

func requestLocationWhenInUsePermission() -> Bool

Returns true if the user has authorized to use location always or location when in use permissions.

func isLocationsAuthorized() -> Bool

Returns true if the user has authorized to use location always permissions.

func isLocationAuthorizedAlways() -> Bool

Returns true if the user has authorized to use location when in use permission.

func isLocationAuthorizedWhenInUse() -> Bool

Starts monitoring the user's location if authorized and not using custom location.

func startMonitoringLocation() -> Bool

Updates the current location of the user based on the provided address.

func updateLocation(forAddress address: String?, completion: @escaping (String?, CLLocation?, Error?) -> ())

Author

Appmazo LLC, [email protected]

License

AMZLocationManager is available under the MIT license. See the LICENSE file for more info.

Buy Me A Beer?

Beerpay