Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios WKWebView请求两次位置权限_Ios_Swift_Geolocation_Location_Wkwebview - Fatal编程技术网

Ios WKWebView请求两次位置权限

Ios WKWebView请求两次位置权限,ios,swift,geolocation,location,wkwebview,Ios,Swift,Geolocation,Location,Wkwebview,我有一个简单的iOS Swift应用程序 let url = URL(string: "https://www.mycustompage.com")! webView.load(URLRequest(url: url)) 在Info.plist中,我允许所有隐私位置权限 屏幕上有一个HTML按钮,用于定位用户 现在我有一个问题,我的应用程序两次请求位置权限。 一次用于应用程序,一次用于WKWebView 如何禁用对WebView的请求 谢谢我猜这是因为你的网页询问位置,而safari基本上是在

我有一个简单的iOS Swift应用程序

let url = URL(string: "https://www.mycustompage.com")!
webView.load(URLRequest(url: url))
在Info.plist中,我允许所有隐私位置权限

屏幕上有一个HTML按钮,用于定位用户

现在我有一个问题,我的应用程序两次请求位置权限。 一次用于应用程序,一次用于WKWebView

如何禁用对WebView的请求


谢谢

我猜这是因为你的网页询问位置,而safari基本上是在你的viewcontroller中运行的另一个应用程序。绕过此问题的一种方法是不在网页中询问用户位置。而是在应用程序中询问用户位置,然后使用javascript将位置注入到您的webview中。显然,在进行javascript调用之前,您需要等待页面的位置和完整加载。

您好,谢谢您的快速回答。还有其他可能性吗?也许允许德法特访问这个页面?我很怀疑。苹果总是站在用户一边而不是开发者一边,所以当网页试图访问该位置时,他们总是会让用户知道。例如,如果他们允许你将你的VC列入白名单,然后你导航到你的网站,也许这没关系,但理论上,用户可以导航到另一个网站,然后在没有他们许可的情况下使用他们的位置;这就是为什么这是不可能的。如果你指向自己的网站并可以编辑javascript,那么注入其实并不难。谷歌出售你的数据。你有产品;他们不是在促进用户隐私。你好,乔希,我发现你的想法是不可能的,因为我需要我的桌面网页的请求。默认情况下,可能会禁用或拒绝对webview的访问。我知道locationservice在这种情况下不起作用,但我没有收到愚蠢的消息。你可以将cookie插入到你的webview中。您的JavaScript应该检查cookie。如果它在那里,则等待应用程序的位置注入。如果没有,请请求位置。这让你不仅可以区分应用程序和桌面,甚至可以区分应用程序和safari mobile。