【问题标题】:Mapbox location request prompt in ios ionic appios ionic app中的Mapbox位置请求提示
【发布时间】:2021-11-28 14:15:10
【问题描述】:

我有一个 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",

【问题讨论】:

  • 有这个类似的问题,不过是用cordova,有点老了,不好理解:stackoverflow.com/questions/32024240/…
  • 嘿,看看我的答案,确认我对你有用吗?如果问题相同,您可以将我的答案标记为正确,谢谢

标签: ios ionic-framework permissions geolocation mapbox


【解决方案1】:

ios 有两种地理位置权限

  1. 一次使用位置权限(下次会再次请求权限)
  2. app 使用时(需要app运行时) 第三个权限始终是 ios 12 中不允许的

解决方案:

在 xcode info.plist 中添加这两个属性

NSLocationAlwaysUsageDescription

NSLocationWhenInUseUsageDescription 

还有一些文本字符串值

【讨论】:

  • 这些已经在我的 imo.plist 文件中,但它们不控制我得到的第二个权限请求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-24
  • 2017-04-23
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 2017-01-14
  • 1970-01-01
相关资源
最近更新 更多