Skip to content
This repository has been archived by the owner on Oct 5, 2021. It is now read-only.

iOS permission key search is incomplete #52

Open
1 of 2 tasks
bhusang opened this issue Oct 22, 2020 · 1 comment
Open
1 of 2 tasks

iOS permission key search is incomplete #52

bhusang opened this issue Oct 22, 2020 · 1 comment

Comments

@bhusang
Copy link

bhusang commented Oct 22, 2020

🐛 Bug Report

Using XCode 12.1 & iOS 14.1, there is an additional location permission key which is ignored by this plugin. The key in question is 'NSLocationAlwaysAndWhenInUseUsageDescription' which is an amalgamation of the handled keys 'NSLocationWhenInUseUsageDescription' and 'NSLocationAlwaysUsageDescription'. The current code does not have a check for this "new" key. Although I am a novice wrt to Flutter plugins, I will try to create a pull request.

Expected behavior

To not throw an exception when the key 'NSLocationAlwaysAndWhenInUseUsageDescription' is used in the Info.plist.

Reproduction steps

Define 'NSLocationAlwaysAndWhenInUseUsageDescription' in Info.plist. Debugging the app demonstrates that an exception is thrown -

Exception has occurred.
PlatformException (PlatformException(ERROR_MISSING_PROPERTYKEY, To use location in iOS8 you need to define either NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription in the app bundle's Info.plist file, null, null))

Configuration

Version: 1.x

Platform:

  • 📱 iOS
  • 🤖 Android
@martipello
Copy link

did this every get fixed? our app was flagged by apple i believe it was because of the recent inclusion of this library

ITMS-90683: Missing Purpose String in Info.plist - Your app’s code references one or more APIs that access sensitive user data. The app’s Info.plist file should contain a NSLocationWhenInUseUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn’t contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants