1

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

        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 NSLocationAlwaysUsageDescriptionNSLocationWhenInUseUsageDescription参数来调试它,将其更改为.ContinueWithlambda,在模拟器和实际设备上进行测试,将超时设置为 100 秒,但它似乎总是在超时时崩溃。

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

谢谢

4

0 回答 0