4
votes

Our users keep complaining that the purple arrow is appearing even though the app is killed and therefore they automatically think its draining their battery.

We use only significant location change by calling

    [locationManager startMonitoringSignificantLocationChanges];

So if we don’t stop the significant location change the purple arrow stays on (and our users think their battery will drain).

Even if we want to stop the significant location change when the app terminates we can't because applicationWillTerminate is rarely called.

So there are 3 options:

  1. Leave it as it is – but the users keep complaining because apple doesn't differentiate between apps that use the regular battery consuming location and the apps that use the significant location change.
  2. Use the regular [locationManager startUpdatingLocation] so when the app terminates so does the monitoring. Problem here is that it really will consume the users' battery as long as the app is not terminated.
  3. Call

    (void)applicationDidEnterBackground:(UIApplication *)application
    {
        [locationManager stopMonitoringSignificantLocationChanges];
    }
    

    Problem here is that we don't benefit from the location changes in the background…

Are there any other suggestion that will let us do this:

  1. Monitor location as long as the app is the background (purple arrow is OK here)
  2. Stop the location monitoring when the app is killed (purple arrow is NOT OK here)
  3. Use the Significant Location Change so to not drain the users' battery.

?

Thank you

1
It's supposed to be purple when you use any location services so that apps cannot track users without their knowing. It's not to indicate when GPS is turned on. It's not a bug.progrmr
@progrmr I had suggested that we characterize this as a bug and was dismissive of your suggestion that it wasn't. I was unaware that "[if] you leave [significant change] service running and your app is subsequently suspended or terminated, the service automatically wakes up your app when new location data arrives." That means a terminated app can reawaken and track us, and thus the location services icon is appropriate. I wish there was some visual distinction between the two services, but alas there is not. More importantly, I apologize for being dismissive of your suggestion. You are right.Rob

1 Answers

8
votes

Maybe your solutions are all beside the point.

  • You claim your users only have a problem because they think the battery drains.
  • You also claim that your users want the benefits of location monitoring without battery drain.

You are trying to solve a cognitive misunderstanding by your users by engineering around it.

Instead, why don't you just explain this to your users?

  1. You can pop up a beautiful modal view controller to inform them about all the benefits they get when they leave location monitoring on.
  2. You can explain the battery misunderstanding.
  3. And you can offer a setting where they can switch it off anyway if they so wish.