在ios更新到ios 11.0后,我的地理定位器无效,xamarin.forms

时间:2017-09-21 21:55:16

标签: ios xamarin xamarin.forms

我正在使用geolocator获取用户位置但是,在ios更新到ios 11.0之后,我的地理定位器无效... 在android中它工作正常,它也在ios更新之前工作 这是我的地理定位器类

using neoFly_Montana.Model;
using Plugin.Geolocator;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace neoFly_Montana.Api
{
class Geolocator
{
    public static async Task<Localizacao> GetUserLocationAsync()
    {
        try
        {
            var locator = CrossGeolocator.Current;
            locator.DesiredAccuracy = 50;

            //try
            //{
                var auxPosition = await locator.GetPositionAsync(TimeSpan.FromSeconds(10));
            //} catch(Exception e)
            //{
            //    var i = e.Message;
            //}

            if (auxPosition == null)
            {
                return null;
            }

            else {
                Localizacao position = new Localizacao();
                position.latitude = auxPosition.Latitude;
                position.longitude = auxPosition.Longitude;

                //teste joyce iphone
               // position.latitude = -22.8899748;//-23.5505199;
              //  position.longitude = -47.0713897;// -46.6333094;//


                return position;
            }
        }
        catch (Exception ex)
        {
            var teste = ex.Message;
            return null;
        }
    }
}

}

调用此行后

                var auxPosition = await locator.GetPositionAsync(TimeSpan.FromSeconds(10));

它停止工作

1 个答案:

答案 0 :(得分:1)

根据the documentation of the plugin,您需要添加一个与隐私相关的新plist条目。

  

如果定位到iOS 11,您可能需要添加: NSLocationAlwaysAndWhenInUseUsageDescription

项目中添加了an issue