簡體   English   中英

ios ionic app中的Mapbox位置請求提示

[英]Mapbox location request prompt in ios ionic app

我有一個 React 應用程序,我正在將它變成一個帶有 Ionic 和 capcitorjs 的電話應用程序。 mapbox 地圖是該應用程序的重要組成部分,當您打開該應用程序時,它會以非常正常的提示請求訪問手機位置的權限。 這很好,當應用程序打開時,地圖正確地以用戶為中心(使用@capacitor/geolocation)。 但是當用戶按下以用戶為中心的 mapboxgl.GeolocateControl 按鈕並添加藍色位置點時,提示很奇怪,我看不到在哪里更改它。 使用用戶位置的提示(盡管已經有權限)是:

"://" 想使用您當前的位置

不允許 | 好的

我在哪里可以更改此提示? 它不會出現在 Android 上,所以這只是一個 iOS 問題。 對於請求地理定位訪問的第一個提示,可以在 XCode 的 Info.plist 文件中編輯,但是這個“Would Like...”提示甚至沒有出現在 Info.plist 中。 這似乎是由mapbox引起的。 可以用@capacitor/geolocation 更改提示嗎?

以下是此 npm 應用程序的相關依賴項:

"ionic": "^5.4.16",
"mapbox-gl": "^2.5.1",
"@capacitor/core": "^3.2.4",
"@capacitor/geolocation": "^1.1.0",
"@mapbox/mapbox-sdk": "^0.13.2",
"react": "^17.0.2",
"@capacitor/android": "^3.2.4",
"@capacitor/app": "^1.0.3",
"@capacitor/cli": "^3.2.4",
"@capacitor/ios": "^3.2.4",

ios 有兩種地理位置權限

  1. 一次使用位置權限(下次它會再次請求權限)
  2. 當應用程序使用時(它需要在應用程序運行模式下)第三個權限總是在 ios 12 中不允許的

解決方案 :

在 xcode info.plist 添加這兩個屬性

NSLocationAlwaysUsageDescription

NSLocationWhenInUseUsageDescription 

以及字符串值中的一些文本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM