[英]DeviceMotion and DeviceOrientation in WKWebView iOS 13
[英]WKWebView Request permission for DeviceMotion and DeviceOrientation is called every time app launches
有沒有辦法只請求一次 DeviceMotion 和 DeviceOrientation 權限,而不是每次應用啟動時。 我正在請求使用權限
webView.evaluateJavaScript("DeviceMotionEvent.requestPermission().then(response => { if (response == 'granted') {window.addEventListener('devicemotion', (e) => {})}}).catch(console.error)")
和
webView.evaluateJavaScript("DeviceOrientationEvent.requestPermission().then(response => { if (response == 'granted') {window.addEventListener('deviceorientation', (e) => {})}}).catch(console.error)")
那么有沒有辦法始終授予權限?
您應該使用Userdefaults
來存儲一些標志。 一旦您請求權限,在Userdefaults
為該標志設置一些值。 當您的應用程序啟動時,請檢查您是否設置了該標志。 就像是,
if UserDefaults.standard.bool(forKey: "openedOnce") {
} else {
webView.evaluateJavaScript("DeviceMotionEvent.requestPermission().then(response => { if (response == 'granted') {window.addEventListener('devicemotion', (e) => {})}}).catch(console.error)")
webView.evaluateJavaScript("DeviceOrientationEvent.requestPermission().then(response => { if (response == 'granted') {window.addEventListener('deviceorientation', (e) => {})}}).catch(console.error)")
}
UserDefaults.standard.set(true, forKey: "openedOnce")
UserDefaults.standard.synchronize()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.