※ 一部のアプリについては、青い帯が一定時間表示された後に消えるケースもあるようです。(トリマなど)


Apple Developer Forumsの投稿によると、iOS16.4以降でも位置情報の更新を継続的にバックグラウンドで行うには、ステータスバーで位置情報を取得中であることを伝える「showsBackgroundLocationIndicator」を有効化する必要があるようです。


The issue that is described here due to the changes with iOS 16.4 (and above) which affect the behavior of apps tracking location in the background.

Beginning in iOS 16.4, apps calling both startUpdatingLocation() AND startMonitoringSignificantLocationChanges() may get suspended in the background if they are specifying low accuracy and distance filtering in the location manager settings.

If your app needs only low accuracy locations of kCLLocationAccuracyKilometer and up, use startMonitoringSignificantLocationChanges() for that purpose instead.

If your app requires continuous high accuracy locations in the background, you must set the following location manager properties:

  • allowsBackgroundLocationUpdates must be set to TRUE or YES
  • distanceFilter must not be set, or set to kCLDistanceFilterNone
  • desiredAccuracy must be kCLLocationAccuracyHundredMeters or better. If you’re using numeric values, it must be set to less than 1000 meters

Alternatively you can turn on the location indicator which will avoid the issue. You can do this by setting

  • showsBackgroundLocationIndicator to TRUE or YES

If you implement the above changes in your app, its location update behavior will be similar to behavior prior to iOS 16.4. Without these changes, your app may not be able to receive continuous background location updates.

引用:Apple Developer Forums



Return Top