Earlier quoted context omitted.
You're referring, of course, to Android's broken and user-hostile permission model. This is not true of iOS.
iOS allows apps to be pretty user-hostile, too. A bunch of apps require location tracking 'always' or 'never' but without an option for 'while using.' Why would I want the Yelp app to know my location when I am not using it?
It corresponds to kCLAuthorizationStatusAuthorizedWhenInUse authorization status in the SDK.
If an app tries to use any of the background location API without the user having previously authorized kCLAuthorizationStatusAuthorizedAlways (and I believe the user is prompted again in a few days after the initial authorization by iOS8+) the app API calls are denied access with an error code representing unauthorized.
It has been my experience that adding the "Location updates" background mode capability indicating to Apple that your app requires background location sets off closer review during the app store acceptance process.
I have had apps rejected that a reviewer felt did not have a good enough text "reason" for requiring location tracking displayed to the user in the message box.
There are many reasons for a Yelp-type app legitimately to know about your location while not in use. It could make better recommendations, limit searches to "local" sites, etc.
None of this of course stops iOS itself from "spying" on you. The CLVisit seems to be always recording but experts with more knowledge on that topic than me might know how to turn it off.