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 地图会显示完全相同的对话框
我已经在 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 地图会显示完全相同的对话框