如何防止iOS应用程序中的地理定位双重提示?

Posted

技术标签:

【中文标题】如何防止iOS应用程序中的地理定位双重提示?【英文标题】:How to prevent double prompt for geolocation in iOS app? 【发布时间】:2014-02-19 09:30:35 【问题描述】:

我有一个简单的本机应用程序,我在 uiwebview 中打开一个 url。该 webview 需要获取用户的位置。问题是应用程序首先代表应用程序请求位置许可,并带有警报“想要访问您的位置” 在您单击“确定”后,它再次提示警报“想要访问您的位置”

这不是理想的用户体验。同样对于应用程序警报,语言是根据当前区域设置的,但对于网站警报,它是英文的,尽管设备的区域设置为法语

任何帮助将不胜感激

【问题讨论】:

【参考方案1】:

作为开发人员,您无法影响这些隐私对话。由于您的应用需要位置和网站,因此必须同时同意它们。

您的秒数问题有点困难,因为它可能与您应用的本地化设置有关。

【讨论】:

【参考方案2】:

通过编码制作一个 UIWebview : 它将自动采用该语言。这段代码对我有用:

NSString *strURL = @"http://www.google.com/";
NSURL *url = [[NSURL alloc] initWithString:strURL];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];

myWeb = [[UIWebView alloc] initWithFrame:self.view.frame];
myWeb.scalesPageToFit = YES;
myWeb.delegate = self;
[self.view addSubview:myWeb];

[myWeb loadRequest:request];

【讨论】:

还是一样。站点的位置访问警报仍为英文。 :( @JuliGupta 你是通过编码实现的...试试我的代码行...看看它是否有效? 是的。我通过代码尝试了它,但它仍然是一样的。虽然我想通了。至少本地化部分。该项目的语言选择为英语。我将其更改为法语,然后所有警报都是法语。 好的...很好...如果您想解决您的问题...联系我@mrsamkitjain@gmail.com...我们可以在那里聊天【参考方案3】:

我遇到了同样的问题,但 Samkit Jain 的解决方案没有奏效。

地理位置的双重提示是强制性的,但要翻译第二个警报,您必须将 Main.storyboard 国际化。这对我有用。我的第二个警报现在是法语。 (之前是英文)

如何国际化:http://www.ibabbleon.com/iphone_app_localization.html

【讨论】:

以上是关于如何防止iOS应用程序中的地理定位双重提示?的主要内容,如果未能解决你的问题,请参考以下文章

cordova-ionic 应用程序在后台进行地理定位 - android 和 ios

如何在科尔多瓦上删除 ios 地理定位身份验证请求消息

浏览器内地理定位功能:如何在用户拒绝后提示用户重新启用?

如何在没有警报消息(iOS)的情况下在 webview 中获得地理定位许可?

如何更改 Ionic 2 iOS 应用程序的位置访问描述?我正在为我的应用程序使用科尔多瓦地理定位插件

如何通过华为定位API精准获取用户所在地理位置?