在使用 swiftui 的小部件中如何获取当前位置? [复制]
Posted
技术标签:
【中文标题】在使用 swiftui 的小部件中如何获取当前位置? [复制]【英文标题】:In widget using swiftui how to get current location? [duplicate] 【发布时间】:2020-12-17 18:14:18 【问题描述】:如何在小部件中获取用户当前位置?我正在使用 swiftUI。
【问题讨论】:
【参考方案1】:class WidgetLocationManager: NSObject, CLLocationManagerDelegate
var locationManager: CLLocationManager?
private var handler: ((CLLocation) -> Void)?
override init()
super.init()
DispatchQueue.main.async
self.locationManager = CLLocationManager()
self.locationManager!.delegate = self
if self.locationManager!.authorizationStatus == .notDetermined
self.locationManager!.requestWhenInUseAuthorization()
func fetchLocation(handler: @escaping (CLLocation) -> Void)
self.handler = handler
self.locationManager!.requestLocation()
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
self.handler!(locations.last!)
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error)
print(error)
打电话
var widgetLocationManager = WidgetLocationManager()
func getTimeline(for configuration: SelectPlaceIntent, in context: Context, completion: @escaping (Timeline<Entry>) -> Void)
widgetLocationManager.fetchLocation(handler: location in
print(location)
.......
)
【讨论】:
我忍不住又靠近了一步以上是关于在使用 swiftui 的小部件中如何获取当前位置? [复制]的主要内容,如果未能解决你的问题,请参考以下文章