0
私は起動時にすぐにユーザーの場所を取得しようとしており、これを実行するには、AppDelegateの関数で更新されるグローバル変数userLocation
を実装しました。AppDelegate Extensionが呼び出されない
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
var locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled(){
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestLocation()
}
return true
}
と拡張子::
extension AppDelegate: CLLocationManagerDelegate {
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
usersLocation = locations.last!
}
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
print(error)
}
}
userLocationが更新されることは決してありません、と私はuserLocation = locations.last!
行にブレークポイントを配置し、それはそれに到達したことがない私はそうのようなロケーションマネージャを実装しています。何かアドバイス
ありがとうございますが、私のニーズにはまだ十分に速くは動作しませんでした。おそらく、ユーザーインタラクションの前にローディングアニメーションを追加するだけです –