iOS 应用构建被拒绝:- 位置权限模式警报说明

iOS App build Rejected :- Location Permission modal alert description

当设备中的定位功能关闭时,会出现此对话框。我的应用被拒绝了,因为这个对话没有包含任何关于为什么应用需要位置的描述。

我已经在 info.plist 中添加了所有关于位置使用的键 description.But 它不占用描述。这个对话不是由我们的应用程序处理的,也不知道它是从哪里出现的。

请大家帮忙解决为什么这里没有显示描述。?提前致谢

使用这些键添加此描述

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

Apple 对许可进行了疯狂的更改。如果您要求 NSLocationAlwaysUsageDescription。您仍然需要为 NSLocationWhenInUseUsageDescription 提供描述。

几天前我们的应用程序也发生了这种情况,我们的应用程序因您提到的类似原因被拒绝。该消息不能是通用消息。因此,您可以显示您的自定义屏幕,您可以在其中提及您需要位置权限的确切原因,然后显示此弹出窗口。

<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>MyApp uses your location to provide the list of products serviceable at your location and for better recommendation</string>
<key>NSLocationAlwaysUsageDescription</key>
    <string>MyApp uses your location to provide the list of products serviceable at your location and for better recommendation</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>MyApp uses your location to provide the list of products serviceable at your location and for better recommendation</string>

编辑:

在您的应用程序中的某个地方,您可能正在将此自定义消息与警报控制器一起使用

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title message:**your custom message** preferredStyle:UIAlertControllerStyleAlert];
    UIAlertAction *allowAction = [UIAlertAction actionWithTitle:@"Settings" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    }];
    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        for (void(^ completion)(NSNumber * __nonnull status) in self.callbacks) {
            completion(@(kCLAuthorizationStatusDenied));
        }
    }];
    [alertController addAction:cancelAction];
    [alertController addAction:allowAction];

    [someViewController presentViewController:alertController animated:animated completion:nil]; 

这是一个 iOS 对话框(而且相当糟糕;所有单词都不应该大写)。

我建议您对拒绝提出上诉,并解释这是一个您无法控制的 iOS 对话;

如果禁用定位服务,Apple 地图会显示完全相同的对话框