【发布时间】:2021-09-16 17:28:52
【问题描述】:
我正在为需要地理定位权限的 iOS 和 Android 构建一个移动应用程序。使用 Capacitor 来构建它,它在 Android 中运行良好。但是在 iOS 上,我的 Mapbox 地图中的“用户中心”按钮不起作用,当您尝试单击它时会被划掉并禁用。网上有很多答案,例如this one,人们解释说您必须向 Info.plist 文件添加三个权限:
- NSLocationAlwaysUsageDescription
- NSLocationWhenInUseUsageDescription
- NSLocationAlwaysAndWhenInUseUsageDescription
我只添加了第二个,因为我只需要在使用应用程序时访问地理位置。但是仍然无法访问位置服务。我也尝试添加几个插件,但这也没有解决问题。以下是 package.json 文件中相关项目的列表:
"dependencies": {
"@capacitor/core": "^3.0.2",
"@capacitor/ios": "^3.0.2",
"@ionic-native/location-accuracy": "^5.34.0",
"@mapbox/mapbox-gl-geocoder": "^4.7.1",
"@mapbox/mapbox-sdk": "^0.13.0",
"cordova-plugin-request-location-accuracy": "^2.3.0",
"mapbox-gl": "^2.3.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
"@capacitor/app": "^1.0.2",
"@capacitor/cli": "^3.0.2",
"@capacitor/geolocation": "^1.0.2",
"capacitor-resources": "^2.0.5"
}
对于正常运行的android构建,我不必导入任何插件或任何东西,我只需添加权限即可。如何让用户使用 Capacitor 将地图以他们在 ios 上的位置为中心?谢谢。
【问题讨论】:
标签: ios permissions geolocation capacitor