私はCLLocationマネージャーと協力しています。
startUpdatingLocation
現在地の緯度と経度を取得するメソッドを実装しました。
アプリケーションがフォアグラウンドで実行されている場合は現在地の緯度と経度を取得しましたが、アプリケーションがバックグラウンドで実行されている場合は機能しません。
アプリケーションがバックグラウンドで実行されている場合、現在の場所の緯度と経度を取得する方法を教えてください。
私はCLLocationマネージャーと協力しています。
startUpdatingLocation
現在地の緯度と経度を取得するメソッドを実装しました。
アプリケーションがフォアグラウンドで実行されている場合は現在地の緯度と経度を取得しましたが、アプリケーションがバックグラウンドで実行されている場合は機能しません。
アプリケーションがバックグラウンドで実行されている場合、現在の場所の緯度と経度を取得する方法を教えてください。
私はこのリンクからstackoverflowで答えを見つけました:-
iOS アプリケーションで n 分ごとにバックグラウンドで位置情報を更新するにはどうすればよいですか?
Apple Developer Forums の助けを借りて、これを実装するソリューションを見つけました。私は次のことをしました:
NSTimer
してバックグラウンドでUIApplication:beginBackgroundTaskWithExpirationHandler:
n
が小さい場合はUIApplication:backgroundTimeRemaining
問題なく動作しますが、 が大きい場合n
は、バックグラウンド タスクが強制終了されるのを避けるために、時間がなくなる前にロケーション マネージャーを再度有効 (および無効) にする必要があります。location は許可されている 3 つのタイプのバックグラウンド実行の 1 つであるため、これは機能します。注:動作しないシミュレーターでこれをテストすることで、しばらく時間がかかりましたが、私の電話では正常に動作します。
Get current Location in backround plist で場所の背景モードを指定します。