离子地理定位,iOS 上没有权限
Posted
技术标签:
【中文标题】离子地理定位,iOS 上没有权限【英文标题】:Ionic Geolocation, No Permission on iOS 【发布时间】:2018-01-30 04:06:00 【问题描述】:在过去的 3 个小时里,我一直在尝试让地理定位包工作,并决定寻求一些帮助,也许你能看到一些我看不到的东西。
我已按照说明进行操作,但无法让该应用在任何 ios 设备上获得位置服务权限。
config.xml
https://gist.github.com/keoir/90ea3b75fefed70495409fd5692ac5c0
Package.json
https://gist.github.com/keoir/285c4c04671f70c2473783052936af0d
app.component.ts
https://gist.github.com/keoir/2d09d7cc6956b507a47a59701f0e1aa2
【问题讨论】:
您能指定您使用的 iOS 版本和设备/模拟器吗? 对我来说问题是我没有添加cordova插件,因为我使用的是电容器。但显然你仍然需要手动添加它。 【参考方案1】:@dhanesekar 的解决方案在我每次运行 ionic cordova build ios
时都会被删除。
为了解决这个问题,我在 config.xml 中添加了以下内容:
<edit-config file="*-Info.plist" mode="merge" target="NSLocationWhenInUseUsageDescription">
<string>Get Position</string>
</edit-config>
<edit-config file="*-Info.plist" mode="merge" target="NSLocationAlwaysUsageDescription">
<string>Get position</string>
</edit-config>
之后:ionic cordova platform remove ios && ionic cordova platform add ios
【讨论】:
【参考方案2】:将 NSLocationWhenInUseUsageDescription 添加到 .plist。 打开 /platforms/ios/project/project-Info.plist 并添加以下内容:
<key>NSLocationWhenInUseUsageDescription</key>
<string>[App Name] would like to access your location when running and displayed.</string>
【讨论】:
除非您使用 Swift 或 Objective C(而不是混合框架)进行编程,否则不要这样做。每次重建时它都会被删除。【参考方案3】:我也遇到了同样的问题,我关注this git doc,终于成功了。
【讨论】:
以上是关于离子地理定位,iOS 上没有权限的主要内容,如果未能解决你的问题,请参考以下文章