Skip to content

A wrapper around CLLocationManager to handle authorization flow and request user position

Notifications You must be signed in to change notification settings

Roze-im/LocationTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A wrapper around CLLocationManager to handle location tracking and related permissions

Latest values

public func lastKnownLocation() -> CLLocation?

public func lastKnownHeading() -> CLHeading?

One Time requests

public func requestLocation(
    options: RequestHandlerOptions = .tenMeters,
    completion: LocationRequestCompletionHandler? = nil
)

Constant Monitoring

public func startMonitoringLocationPushes(completion: @escaping ((Data?, Error?) -> Void))

public func stopMonitoringLocationPushes()

public func startUpdatingHeading()

public func stopUpdatingHeading()

Authorization

public func authorizationStatus() -> CLAuthorizationStatus

// Requests whenInUseAuthorization

public func requestWhenInUseAuthorization(completion: @escaping (AuthorizationError?) -> Void)

// Requests whenInUseAuthorization if needed, then alwaysAuthorization

public func requestAlwaysAuthorization(completion: @escaping (AuthorizationError?) -> Void)

Delegate methods

public protocol LocationTrackerDelegate: AnyObject {
    func locationTracker(didUpdateLocations locations: [CLLocation])
    func locationTracker(didFailWithError error: Error)
    func locationTracking(didChangeAuthorization status: CLAuthorizationStatus)
    func locationTracker(didUpdateHeading heading: CLHeading)
}

About

A wrapper around CLLocationManager to handle authorization flow and request user position

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages