react / react/react-native

Missing NSLocationAlwaysUsageDescription in Info.plist without any GeoLocation Usage in 0.61.5 (ITMS-90683)

Open
#28,200 13 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

API: Geolocation Impact: App Rejected Never gets stale Platform: iOS
Dominant language
C++
Stars
127k
Forks
25.3k
Avg merge
1d 23h
Merged PRs (30d)
4

Description

Description:

I am getting E-Mail from Apple after submitting to App Store Connect regarding ITMS-90683. It basically says that I have to include NSLocationAlwaysUsageDescription and NSLocationWhenInUseUsageDescription in my Info.plist because they say that my

app's code references one or more APIs that access sensitive user data.

Now, I do not use any of react natives geolocation functions. I have scanned my whole repo for anything regarding these APIs, and the only thing which came up was RCTConvert+CoreLocation.h (https://github.com/facebook/react-native/blob/master/React/Views/RCTConvert%2BCoreLocation.h) and it's ".m" file. These do import "CoreLocation", which could be enough to trigger this E-Mail, as suggested here.

See this issue for explaining the whole background: https://github.com/facebook/react-native/issues/20879.

React Native version:

System:
    OS: macOS Mojave 10.14.6
    CPU: (8) x64 Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz
    Memory: 22.33 MB / 16.00 GB
    Shell: 5.3 - /bin/zsh
  Binaries:
    Node: 12.12.0 - /usr/local/bin/node
    npm: 6.13.6 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  SDKs:
    iOS SDK:
      Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
    Android SDK:
      API Levels: 28, 29
      Build Tools: 28.0.3, 29.0.2
      System Images: android-28 | Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom
  IDEs:
    Android Studio: 3.5 AI-191.8026.42.35.5977832
    Xcode: 11.3.1/11C504 - /usr/bin/xcodebuild
  npmPackages:
    react: 16.9.0 => 16.9.0 
    react-native: 0.61.5 => 0.61.5 
  npmGlobalPackages:
    react-native-eject: 0.1.2

Steps To Reproduce

  1. Bootstrap a clean react native app.
  2. Submit it to App Store connect.

Expected Results

As Geolocation was supposed to be extracted from the core, I wonder why I still get this warning. I do not consider adding the mentioned values in my plist, as I expect that it will most likely show on some user facing screen that the app is using location services when it is definitely not.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the warning with a clean React Native 0.61.5 app submitted to App Store Connect, then inspect React/Views/RCTConvert+CoreLocation.h and its .m file. Determine whether those CoreLocation references cause ITMS-90683 despite no geolocation usage; done means documenting the cause and verifying an appropriate resolution or confirmed limitation.

Written by the indexing model from the issue text.

Assessment

Tech stack
react-native
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.