I don't think iOS is to blame for the binary choice that you get with Uber / Waze. I have some apps which have three choices in the location services settings (Always, While using the app, Never) so it seems like a choice by the developer.
TBF they also allow disabling the final choice, most of my applications (including many built-in applications like Calendar or Maps) only have "never" and "while using the app".
I was perhaps misunderstanding the parent as suggesting that once an app has allowed "While using the app" as a choice, that could never be removed - ie Uber would still have to allow "While using the app" as a choice.
If that was the case, apps might avoid offering the "While using" choice in the first place if they might ever consider the need to remove it, no?
that is the current permutations which an application can provide are:
* no, using, always
* no, using
* no, always
I do not think the latter should be allowed.