AMZLocationManager
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() -> BoolRequests the location when in use permission using the native iOS prompt.
func requestLocationWhenInUsePermission() -> BoolReturns true if the user has authorized to use location always or location when in use permissions.
func isLocationsAuthorized() -> BoolReturns true if the user has authorized to use location always permissions.
func isLocationAuthorizedAlways() -> BoolReturns true if the user has authorized to use location when in use permission.
func isLocationAuthorizedWhenInUse() -> BoolStarts monitoring the user's location if authorized and not using custom location.
func startMonitoringLocation() -> BoolUpdates 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.