AMZLocationManager
示例
要运行示例项目,首先克隆仓库,然后在 Example 目录中运行 pod install
。
要求
iOS 11.0+
安装
AMZLocationManager 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod 'AMZLocationManager'
使用方法
设置
let locationManager = AMZLocationManager()
观察授权状态变化
locationManager.locationAuthorizationUpdatedBlock = { (authorizationStatus) in
DispatchQueue.main.async { [weak self] in
self?.tableView.reloadData()
}
}
观察位置变化
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()
}
}
}
属性
isLocationUpdating
: 如果locationManager正在更新位置,则返回true。(只读)
currentLocation
: 返回用户当前或自定义的CLLocation。(只读)
currentAddress
: 返回用户当前或自定义CLLocation的地址。(只读)
useCustomLocation
: 如果您想使用自定义位置,请切换此属性。(例如:允许用户输入地址)
distanceFilter
: 更改此属性以确定用户必须移动多少英里以更新位置。(默认:1英里)
desiredAccuracy
: 更改此属性以确定应追踪用户位置的精确度。(默认:kCLLocationAccuracyHundredMeters)
函数
使用原生iOS提示请求始终允许获取位置权限。
func requestLocationAlwaysPermission() -> Bool
使用原生iOS提示在应用程序使用时请求位置权限。
func requestLocationWhenInUsePermission() -> Bool
如果用户已授权始终或在使用时使用位置权限,则返回true。
func isLocationsAuthorized() -> Bool
如果用户已授权始终允许使用位置权限,则返回true。
func isLocationAuthorizedAlways() -> Bool
如果用户已授权在使用时使用位置权限,则返回true。
func isLocationAuthorizedWhenInUse() -> Bool
如果已授权并且未使用自定义位置,则开始监控用户的位置。
func startMonitoringLocation() -> Bool
根据提供的地址更新用户当前位置。
func updateLocation(forAddress address: String?, completion: @escaping (String?, CLLocation?, Error?) -> ())
作者
Appmazo LLC, [email protected]
许可协议
AMZLocationManager遵循MIT许可协议。更多信息请参阅LICENSE文件。