2

I have two different apps that are very similar.

When I install them on iOS8 beta 5, one is listed in Settings -> Privacy -> Location Services the other is NOT listed there.

Neither one intentionally uses Location Services so I would like to turn it off.

Both apps are built with XCode 5.x.

Here is what I have done to try to figure this out:

  1. I have carefully compared xcode configuration between apps that work and don't work to look for differences.
  2. I used grep "Location" in the project folder too look for configurations differences between working and non-working apps.
  3. I unpacked the .ipa file and looked for differences in the .plist file

I am sure whatever I am missing will be obvious in hindsight, but for now I am stumped.

The question is: How does an app get listed in Settings -> Privacy -> Location Services in iOS8?

The obvious answer of "Uses Location Services" will not be helpful, I need answer a bit deeper than that to be helpful.

This is important to fix because the app that is listed in Location Services also gets this warning message when starting:

Allow "app-name" to access your location even when you are not using the app?

Which is a pretty ominous warning, especially when the app does not provide any location based service to the user.

Edit: I have installed the iOS 8 GM Seed and this problem still occurs.

Edit: I actually have several apps, here is a breakdown of the version of phonegap in use and whether the warning message is displayed:

  • 3.3.0 - asks for location
  • 2.7.0 - works
  • 2.7.0 - asks for location
  • 3.3.0-rc1 - works
  • 3.3.0 - works
  • 3.3.3-rc1 - asks for location
  • 3.3.0 - works
  • 3.3.0 - works.
Be Kind To New Users
  • 9,672
  • 13
  • 78
  • 125

1 Answers1

0

This happens because your application, or a library your application is using uses location services. For example, if you use maps the SDK may the users current location to indicate the location on the maps. Other third party tools such as Flurry SDK, etc may use the users location of analytic data (generally you have to allow this). Please check (and/or) list all the third party SDKs you are using. If you submit the app to the App Store, it will likely get rejected.

Three additional suggestions:

  1. Check your info.plist of the application it may have location services or gps as a hardware requirement.
  2. You have linked to the CoreLocation framework
  3. info.plist contains location as the BackgroundMode

Lastly, you could try to swizzle out the location manager object to see where the app accesses it. Something like this: Swizzle Locations

Brett
  • 769
  • 6
  • 16
  • Sorry @Brett, but I am going to vote this answer down. You did not seem to catch that the apps are NOT INTENTIONALLY using Location Services. If I were using the Map SDK, that would be a pretty obvious use of Location Services. I tried to help well intentioned people from offering this type of answer with this statement: "The obvious answer of "Uses Location Services" will not be helpful, I need answer a bit deeper than that to be helpful." I am only using phonegap and listed the specific versions. These apps are all in the appstore. Revise your answer and I will vote you up. – Be Kind To New Users Sep 11 '14 at 19:03
  • @MichaelPotter, Perhaps you can solve this by asking a different question. Apps show up in the location services ... when they indicate to the OS that they use location services (which is the answer you don't want. :-) Without a listing of the SDK's you are using and/or code it is hard to indicate what your App is doing, as it could be many things. I've modded my answer for additional suggestions. – Brett Sep 11 '14 at 20:10
  • I have un-down voted your answer and will check on your suggestions in the next few hours. This is the type of answer that is helpful; you may win the bounty. – Be Kind To New Users Sep 11 '14 at 21:44
  • I am giving @Brett the bounty without confirming his answer. His answer has some good tips and is in the spirit of the original question, so he earned it. I did not try to confirm his answer because now that I can submit apps built with Xcode 6, we are just going to do that to solve the problem. – Be Kind To New Users Sep 12 '14 at 03:05