1
継続的な位置更新の背景iOS13
現在、iOS 13でバックグラウンドロケーションモードをテストしています。ユーザーのロケーションとモーション(CMMotionManagerを使用)をバックグラウンドで追跡したいからです。そのため、位置追跡を処理する独自の(シングルトン)クラスがあります。CLLocationManagerを次のように初期化します。 func initializeLocationManager() -> CLLocationManager { let manager = locationManager ?? CLLocationManager() manager.delegate = self manager.requestAlwaysAuthorization() manager.allowsBackgroundLocationUpdates = true manager.pausesLocationUpdatesAutomatically = false manager.distanceFilter = kCLDistanceFilterNone manager.desiredAccuracy = kCLLocationAccuracyBest manager.activityType = .other return manager } 次に、次のサービスを開始します。 func startLocationServices() { // ... locationManager.startUpdatingLocation() locationManager.startMonitoringVisits() locationManager.startMonitoringSignificantLocationChanges() // ... } さらに、CLLocationManagerDelegate-methods didChangeAuthorization()、didUpdateLocation()を実装しました。 info.plist-fileに次のエントリを追加しました。 …