説明
アプリは場所にアクセスするためのユーザー権限を要求しておらず、状態を取得していません
iOS-10まで完全に動作します
var locationManager : CLLocationManager!
func getLocationDetails()
{
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestAlwaysAuthorization()
locationManager.allowsBackgroundLocationUpdates = true
locationManager.startUpdatingLocation()
}
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus)
{
if status == CLAuthorizationStatus.authorizedAlways || status == CLAuthorizationStatus.authorizedWhenInUse
{
locationManager.startUpdatingLocation()
}
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
{
}
バックグラウンドモード
Appleのドキュメントを読み、この質問の解決策を見つけました。
Appleは、ユーザーの場所を取得するためにいくつかのガイドラインを変更しました。
ビデオリンクは次のとおりです。 Apple-ロケーションテクノロジーの新機能
Swift&Objective-C両方 でのロケーションアクセスの完全なコード
解決策:
次に、3つの認証キーをPlistに追加する必要があります。
他の許可も「使用中はいつでも許可」を求め、両方の許可をplistに追加してください。
権限を要求するためにinfo.plist
ファイルに両方Keysを追加しましたが、アプリを削除して再度開いた後、シミュレーターはユーザーが選択できるようにアラートを表示しませんでした1つのオプション。
アプリを削除し、settings
applicationを開いて、最後にアプリを再インストールした後、アラートを再度表示することができます。
それが誰かを助けることができることを願っています。