C# Xamarin移动地理定位任务从未解决

C# Xamarin移动地理定位任务从未解决,c#,ios,xamarin,xamarin.mobile,C#,Ios,Xamarin,Xamarin.mobile,在使用Xamarin.Mobile.geologitor时,我遇到了一个奇怪的bug,它似乎阻止了我解决这个任务。例如: var locator = new Geolocator (); if (locator.IsGeolocationAvailable) { Console.WriteLine ("Location Available"); var task = locator.GetPositionAsync

在使用Xamarin.Mobile.geologitor时,我遇到了一个奇怪的bug,它似乎阻止了我解决这个任务。例如:

        var locator = new Geolocator ();
        if (locator.IsGeolocationAvailable) {
            Console.WriteLine ("Location Available");
            var task = locator.GetPositionAsync (10000);
            Console.WriteLine ("Task Created");
            var position = task.Result;
            Console.WriteLine ("Position Status: {0}", position.Timestamp);
            Console.WriteLine ("Position Latitude: {0}", position.Latitude);
            Console.WriteLine ("Position Longitude: {0}", position.Longitude);
        } else {
            Console.WriteLine ("newp");
        }
此函数最终在task.Result上超时。我试图通过设置
info.plist
NSLocationAlwaysUsageDescription
nslocationwhenusagedescription
参数来调试它,将其更改为
。继续使用
lambda,在模拟器和实际设备上测试,将超时设置为100秒,但它似乎总是在超时时崩溃

这是我的实现中的问题还是Xamarin.Mobile中的错误?我想继续使用Xamarin.Mobile,但我不反对恢复到本机实现


谢谢

我也有同样的问题,但在室内使用Android时会出现。你有什么进展吗?对我来说,一切正常。你使用最新版本吗?嗨@Sunkas,我确实解决了这个问题。对你来说可能不一样,但我对结果有意见。我可以通过去掉.Result并在它真正解决后在一个块内运行它来修复。好的。你能回答你自己的问题并粘贴你用来解决它的代码吗?