1

I am developing an app that subscribes to user's significant location changes, visit changes and region (geofence) changes. However, I always see a solid location icon in the status bar. Looking at "Privacy->Location Services" settings I see that recently the location was used by my app and some other app.

Also once I set location permission for my app to 'Never', the location icon in status bar disappears.

I am wondering whether the subscription to significant location changes, visits and region changes cause iOS to show the Solid Location icon. I am actually sitting in my room for half of the day and as a result the phone doesn't change location and I do not expect any location change event to be fired. What is the exact condition when solid location icon is shown in the status bar?

I've read this question, but I think it is unrelated.

halfer
  • 19,824
  • 17
  • 99
  • 186
Maksym Bondarenko
  • 404
  • 1
  • 5
  • 12
  • A solid icon means that an app is "actively using your location"; in your case this will be because of significant location change monitoring. Whether you move or not won't affect the icon; your location is still being determined and delivered to an app. – Paulw11 Aug 19 '17 at 22:36

1 Answers1

1

I wanted to cover all aspects of your question and I hope you don't mind a long descriptive answer.

Permission levels:

Never - User denies the app permission to use the location.

While In Use - User has given the app permission to use use the location when it is in use. This means foreground and location access is granted to the app while the user is actively using it.

Always - User has given the app permission to use the location in background and foreground.

The main arrow denotes location use:

The arrow at the right top corner before the battery level indicator can have two shades.

  1. Hollow (outlined) - Indicates that there are apps on the phone that use geofencing
  2. Solid arrow - Indicates that there are one or more apps that actively use the location of the phone including GPS. The solid arrow displays for apps running in the foreground and background.

If your app is utilizing region monitoring then, it gets delegate callbacks for entry and exit events. This often means the phone is being tracked using significant location changes. For region monitoring, you don't need to explicitly register to receive location updates as it is all taken care of by the underlying APIs.

The solid arrow will continuously display in case you have regions that are in close proximity to the phone, my observation is anywhere up to 3KM. The distance is unpredictable and largely depends on the geographic location of the phone, but I have noticed the continuous use of location to trigger regions and then the OS switches back to significant change based monitoring once the region has triggered or the phone has moved a lot further. If this is not the case, then review the LocationManager delegate implementation to make sure the app is not receiving updates more frequently.

On the other hand, if you are registering for significant changes in location to be notified, then the solid arrow will display whenever location updates are delivered to the app.

The solid purple, solid gray and outlined purple arrows in privacy settings are displayed against the apps and are described in the screenshot below.

solid purple, solid gray and outlined purple arrows

balendran
  • 139
  • 6