我有一个使用地理位置的ionic 3应用程序。该应用程序在Android上运行良好,但在IOS上却出现了奇怪的行为。当我在IOS上运行该应用程序时,它可以正常启动,但是直到我挂起或关闭该应用程序时才要求位置许可,从而导致该应用程序无法正常运行。我的地理位置ID包装在组件构造函数的platform.ready函数中:
platform.ready().then(() => {
geolocation.getCurrentPosition().then(position => {
this.current_postion_lat = position.coords.latitude;
this.current_postion_long = position.coords.longitude;
console.log('Latitude: ' + position.coords.latitude + '\n' +
'Longitude: ' + position.coords.longitude + '\n' +
'Altitude: ' + position.coords.altitude + '\n' +
'Accuracy: ' + position.coords.accuracy + '\n' +
'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '\n' +
'Heading: ' + position.coords.heading + '\n' +
'Speed: ' + position.coords.speed + '\n' +
'Timestamp: ' + position.timestamp + '\n');
console.log("Got to Location Provider Constructor");
const watch = geolocation.watchPosition().subscribe(pos => {
this.current_postion_lat = pos.coords.latitude;
this.current_postion_long = pos.coords.longitude;
console.log('lat: ' + pos.coords.latitude + ', lon: ' + pos.coords.longitude);
});
});
});
我的离子信息:
@ ionic / cli-utils:1.19.3离子(Ionic CLI):3.20.1
全局包:
cordova (Cordova CLI) : 8.0.0
本地包:
@ionic/app-scripts : 3.2.4
Cordova Platforms : android 8.0.0 browser 5.0.4 ios 5.1.1
Ionic Framework : ionic-angular 3.6.1
系统:
Android SDK Tools : 26.1.1
ios-sim : 8.0.2
Node : v10.16.3
npm : 4.1.2
OS : macOS
Xcode : Xcode 10.1 Build version 10B61
请帮助。这使我无法释放。
对于iOS,您必须将以下配置添加到configuration.xml文件。
<edit-config file="*-Info.plist" mode="merge" target="NSLocationWhenInUseUsageDescription">
<string>We use your location for full functionality of certain app features.</string>
</edit-config>