2017-10-23 1 views
0

에만 문제가 있습니다. Android는 잘 작동합니다. 다음 전화 번호로 전화 할 때 :Cross.Geolocator Xamarin.Forms의 iOS - 위치를 가져 오지 못합니다.

App.Position = await CrossGeolocator.Current.GetPositionAsync(); 

프로그램은 메인 스레드로 돌아 가지 않으며 결코 돌아 가지 않습니다.

나는 나의의 Info.plist에 추가 :

<key>NSLocationWhenInUseUsageDescription</key> 
<string>You are about to use location!</string> 

내가 Cross.GeoLocator 버전 3.0.4이 있습니다. 4.X로 업데이트하려고 시도했지만 솔루션에 많은 충돌이 있었기 때문에이 버전으로 되돌 렸습니다.

+0

보인다 –

답변

0

우선 iOS에 패키지를 설치했는지 확인하십시오. 완료되면 나는 Here 문서를 따랐다.

당신은 아이폰 OS (11)

<key>NSLocationAlwaysAndWhenInUseUsageDescription</key> 
<string>This app needs access location when open and in the background.</string> 

내가 현재 위치가 될 수 방법의 예를 들어 당신의 Info.plist에 두 번째 항목을 추가해야합니다. 당신의 Info.plist에`NSLocationAlwaysUsageDescription`을 설정하는 것을 잊었다처럼

var locator = CrossGeolocator.Current; 
locator.DesiredAccuracy = 50; 
var position = await locator.GetPositionAsync(TimeSpan.FromSeconds(40)); 
var currentLat = position.Latitude; 
var currentLong = position.Longitude; 
관련 문제