在使用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
NSLocationAlwaysUsageDescription
和NSLocationWhenInUseUsageDescription
参数,将其更改为.ContinueWith
lambda,在模拟器和实际设备上测试,将超时设置为100秒来调试此操作,但似乎总是在超时时崩溃。
这是我的实施问题还是Xamarin.Mobile中的错误?我想继续使用Xamarin.Mobile,但我并不反对恢复原生实现。
由于