I have an app that uses geofences. For this, the "Always" location permission needs to be granted.
I've always used requestAlwaysAuthorization() for this at the time where the user signals their desire to set up a geofence (the apps functionality is they get a notification when they enter this geofence with some up to date data about it - there is a settings screen where they can choose to start receiving this notification, if they choose to do this, at this point I request Always permission so I can set the geofence)
I notice from 1:11:36 in the 2019 Platforms State of the Union - and from testing in the Xcode 11 Beta that calling request**Always**Authorization() now no longer gives the user the user the option to allow always. It only gives them the choice of While Using App, or allow once. The user apparently now has to grant the "While Using App" permission first, then according to the state of the union the app must ask for "Always" location later from the background. They didnt elaborate on how you will do this from the background or when you should.
I'm just wondering how this is going to work for geofences? I want to be able to set up the geofences within the app as this is the best experience for the user, rather than them having to leave the app to give background permission, then re-enter the app to set up which geofences they want. It also seems a poor experience for them to have to grant the permission twice - once for in use, then again for always, when I just want Always permission.
I do handle the app in a degraded state when the user chooses "While using app" - as this has been the requirement up until now. But there are areas of the app where it makes no sense for me to prompt and the user only be given the choose to accept the while using permission such as the use case noted at the start of this post, where I'm specifically asking the user if they want to set up a geofence.
Is there a better flow that can be done to request Always permission while still in the app - or perhaps a different permission status for geofences?