询问位置权限时,iOS 14小部件不显示NSLocationWhenInUseUsageDescription

问题描述

我在iOS 14小部件中使用CoreLocation来跟踪用户的位置。完美运作。根据文档,我已经将NSLocationWhenInUseUsageDescription添加到了小部件的Info.plist文件中。

系统在第一次使用窗口小部件时正确地请求访问用户位置的权限。

但是,文本字符串值未显示在权限对话框中。它只是显示认的系统文本(参见图片)。苹果甚至拒绝了我的应用程序,因为该对话框没有显示我的文本字符串。

location permission dialog

<key>NSLocationWhenInUseUsageDescription</key>
<string>Your location is used to... blah blah.</string>

我尝试使用NSLocationAlwaysAndWhenInUseUsageDescription键,也尝试同时使用两个键,但是没有显示字符串。

这里缺少什么?

解决方法

我遇到了同样的问题,并且确实在小部件info.plist中设置了所有这些键。 尽管很奇怪,因为我不认为它会随时显示文本...

Xcode iOS 14 Widget info.plist Screenshot