'CrossGeolocator iOS Issue: Either just use events or your own delegate

I've been trying to fix this issue for two days now.

This is a Xamarin.Forms application. The Android side is working perfectly. On the iOS, however, I keept geeting this error.

I have a single button in the center of my screen. When it's clicked, it uses the CrossLocator class to get the Geolocation of the phone. However, this problem keeps ocurring:

Erro: Evento registration is overwriting existing delegate, Either just use events or your own delegate:Plugin.Geolocator.GeolocationSingle-UpdateDelegateCoreLocation.CLLocationManager+_CLLocationManagerDelegate

Here's my code:

`public static async Task<Tuple<Position, string>> GetLocalizacao() { var locator = CrossGeolocator.Current;

        try
        {
            locator.DesiredAccuracy = 50;
            var position = await locator.GetPositionAsync(TimeSpan.FromMilliseconds(10000));
        }
        catch (Exception ex)
        {
            return new Tuple<Position, string>(null, $"Erro: {ex.Message}");
        }

        var localizacaoFinal = await locator.GetPositionAsync(TimeSpan.FromMilliseconds(10000));
        return new Tuple<Position, string>(localizacaoFinal, "");
    }`

The exception happens when it hits "GetPositionAsync". From there on, I don't know what to do, nor how to actually identify the issue itself.



Solution 1:[1]

If anyone stumbles upon this post, I've been stuck with this issue since I posted it. Still can't get it to work in these conditions. The only way my app worked was downgrading all packages I needed for this.

In order for it to work, it now has:

Xam.Plugin.Geolocator, version 4.5.0.6 Xamarin.Forms, version 5.0.0.2012 Xamarin Essentials, version 1.6.1 Plugin.Permissions, version 6.0.1

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Saory Emanoelle