NSLocationWhenInUseUsageDescription警告但我已经添加了它

时间:2017-09-13 09:30:23

标签: ios swift location info.plist userlocation

虽然我已经添加了

  

NSLocationWhenInUseUsageDescription

我一直收到这个警告

  

此应用尝试在没有使用说明的情况下访问隐私敏感数据。应用程序的Info.plist必须包含一个NSLocationWhenInUseUsageDescription键,其字符串值向用户解释应用程序如何使用此数据

仅供参考:我在应用程序中有多个info.Plist。不知道该怎么办?

5 个答案:

答案 0 :(得分:17)

同时添加

  

NSLocationAlwaysAndWhenInUseUsageDescription

  

NSLocationWhenInUseUsageDescription

pist中的

键解决了我的问题。

    <key>NSLocationAlwaysUsageDescription</key>
    <string>Your location is required for xyz benefits for you</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Your location is required for xyz benefits for you</string>

答案 1 :(得分:8)

有很多结构不良的框架(即FirebaseMessaging) 使用摄像头和位置信息对用户无益。 您应该警告最终用户,您的应用程序不需要此功能,并且用户不得授予应用程序对该内部寄生虫的访问权限。 我们生活在多么悲伤,悲伤的时代。

    <key>NSLocationAlwaysUsageDescription</key>
    <string>Your location is not needed. This request has popped up due to a 3rd party framework used by the app in a context that does NOT need you to reveal you location</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>You will get zero benefit allowing this app accessing your location. You should never see this alert. If you do alert technical support at foo@bar.baz</string>

答案 2 :(得分:5)

好吧,实际上,在我的情况下,我需要将所有这三样放置如下:

<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>...</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>...</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>...</string>

否则,我不会收到要求允许该位置的弹出警报。 enter image description here

注意:我是在Flutter开发的,我不知道在这种情况下它是否有影响...

答案 3 :(得分:2)

我在

中请求授权
  

viewDidLoad

如下:

self.locationManager.requestWhenInUseAuthorization()

当我删除此行时,错误消失了。

答案 4 :(得分:0)

从plist中删除NSLocationWhenInUseUsageDescription并运行该应用程序,然后再次添加并再次运行该应用程序