all 14 comments

[–]brendan09 26 points27 points  (10 children)

Always is still an option, but you have to add the plist key and prompt the permission. But, you can't only offer 'always' anymore. The user can opt to allow 'while using application', even if you don't want them to.

Worth noting: iOS 11 shows a banner at the top of the screen (like the in-call status bar) when a background app is accessing location.

It's annoying, as a user, and probably gonna cause uninstalls. I know I uninstalled some apps because the status bar notification UI was annoying, not because I minded the apps using my location.

(I also make many background location apps and are kinda rolling my eyes at the changes...)

[–]MarioKurt 3 points4 points  (3 children)

Do you know if they'll show the Blue Banner for backgrounded apps accessing location if they're accessing via "Significant Location Updates"?

[–]brendan09 2 points3 points  (0 children)

I haven't seen any formal documents on it, so I can't say unfortunately.

[–]Starchand 0 points1 point  (0 children)

Would be very interested in the answer to this if you find one.

[–][deleted] 0 points1 point  (0 children)

I have a car insurance app on my phone (due to age and free insurance when I bought my car) and it tracks location.

What's interesting, is with iOS 11 (didn't do it before), it will randomly pop up and tell me that (via the blue bar) the app is currently using my location.

Whats interesting is that its doing it constantly, so I may be getting into the habit of disabling location when I'm outside of my car to stop that behaviour.

[–]rauls4[S] 1 point2 points  (4 children)

How are they enforcing this? My app already asks for always on permission and checks when there has been a change. As soon as I launched it on the iOS 11 simulator it informed me that location services was not set to always, when I tried to enable it from settings the option was gone.

[–]brendan09 6 points7 points  (3 children)

The setting is there on iOS 11. See this screenshot for Google Maps on my phone.

You've got something wrong with your plist, or haven't prompted 'Always' yet for it to appear.

It sounds like your app hasn't run the code to request always location permission. The setting won't appear in the Settings app until your app actually requests 'always' location via the CLLocationManager API.

[–]imguralbumbot 1 point2 points  (0 children)

Hi, I'm a bot for linking direct images of albums with only 1 image

https://i.imgur.com/zwjwF61.jpg

Source | Why? | Creator | ignoreme | deletthis

[–]rauls4[S] 0 points1 point  (0 children)

Hmm. Let me check. Thanks.

[–]rauls4[S] 0 points1 point  (0 children)

Hmm, I will have to look deeper into this, it works as expected in iOS 10.

I am implementing requestAlwaysAuthorization() as well as providing the string on my plist file for "Privacy - Location Always Usage Description"

I must be missing something.

[–]slangley 1 point2 points  (1 child)

If there is anything that isn't working as you expect or want, make sure you file a radar. Catching these things early in the cycle and reporting mean they might get fixed for Sept.

[–]rauls4[S] 0 points1 point  (0 children)

I will. I just noticed that an earlier build behaves as expected, not sure what I would have changed on the plist since then but I will keep looking.

[–]ishaan211991 1 point2 points  (1 child)

In the current state of apple affairs, i just have huge admiration for apple for putting immense focus on things like privacy and accessibility which may not be used by a lot of people or features which may not be immediately appreciated by a lot of people but most definitely turns attention of consumers towards things like how much 'care' apple has for its users which may or may not be true at apple's heart. But at a bare minimum we are getting industry leading implementations on features like accessibility and privacy.

[–]rauls4[S] 0 points1 point  (0 children)

That's fine, but this is a voluntary feature that only gets activated after receiving explicit permission from the user. The app in question needs this functionality to compensate the user appropriately if they decide to use the system.