Git Product home page Git Product logo

too-many-ios-location-updates's Introduction

too-many-ios-location-updates

A barebones Xcode project demonstrating unwanted location updates in iOS

This project shows an apparent regression between iOS versions 13 and 14 where an app can request a single location update with CLLocationManager.requestLocation() but receive updates indefinitely in the background.

unwanted background location updates

Steps to reproduce

Here are the steps necessary to reproduce this problem:

  1. if using a simulator, configure it to receive location updates (e.g. select "Features > Location > Freeway Drive" from the menu)

  2. launch fresh install of app and grant "while in use"; note continuous location updates being delivered to app in console output despite only requesting a single location update (at this point the bug has been triggered, the rest just demonstrates how problematic it is for apps that request background location updates)

  3. go to home screen and watch console printouts to wait until location updates stop being delivered to app

  4. launch another app

  5. go back to home screen, you should be prompted for when-in-use/always location authorization for app

  6. if you choose always, location updates will resume to app (as seen in console); if you choose "while is use" relaunch app

  7. location updates will resume

  8. go back to home screen, location updates will continue (with blue banner/pill indicating location updates in progress)

These instructions are also displayed in the demo app's UI.

app screenshot

Versions Tested

Testing of this project found the unwanted additional location updates as follows:

Xcode iOS Unwanted Location Updates
11.6 13.7 No
12.4 13.7 No
12.4 14.4 Yes
12.5 14.5 Yes

too-many-ios-location-updates's People

Contributors

egrim avatar

Watchers

 avatar  avatar

too-many-ios-location-updates's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.