Press ESC to close

Xamarin iOS Konum Açmak

Xamarin Forms  uygulamalarınız da harita kullanmak isteyebilirsiniz. Burada belki kişinin konum bilgilerini de almak isteyeceksiniz. Bunun için uygulamanın yüklü olduğu telefondan izin almanız gerekiyor. Android  için bunun nasıl olacağını göstermiştim. Bu yazımda ise iOS için bunun nasıl yapılacağından bahsedeceğim. Eğer bu yazımda ki ayarlamaları yapmamışsanız aşağıda ki gibi bir hata almanız muhtemel.

On iOS 8.0 and higher you must set either NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription in your Info.plist file to enable Authorization Requests for Location updates!”

Bunun için iOS da ayarlama yapmamız gerekmekte. Aslında bu ayarları Yiğit Özaksüt Xamarin İleri Eğitimler Derslerinde detaylı bir şekilde anlatımları mevcut. Ben ise aldığınız hataya ithafen bir yazı yazmaya karar verdim. Videoya buradan ulaşabilirsiniz.

Bu hatayı alıyorsanız zaten Nuget paketini yüklemiş olup harita sayfasını ayarlamış olmanız lazım ama bunları da yapamadıysanız bu konu hakkında yazdığım yazıya buradan ulaşabilirsiniz. Bu hatanın sebebi iOS’da konum bilgilerini kullanmak için izin almamız lazım, almadığımız için bize bu hatayı veriyor. İlk olarak iOS katmanında AppDelegate.cs dosyasına Xamarin.FormsMaps’i Init etmemiz lazım. Kod bloğumuz böyle olmalı;

public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            global::Xamarin.Forms.Forms.Init();
            global::Xamarin.FormsMaps.Init();
            LoadApplication(new App());

            return base.FinishedLaunching(app, options);
        }

Ardından izin verme kısmına geldik. İzinleri verme işlemlerini info.plist dosyasından yapıyoruz. Bunu Xamarin Studio veya Xcode üzerinden yapmak çok kolay iken Visual Studio üzerinden yapmamız için info.plistin üzerine gelip, sağa tıklayıp opne with seçeneğine tıklayıp xml editör ile açmamız gerekiyor. Sonrasında ise buraya aşağıda ki kodları eklememiz lazım.

<key>NSLocationAlwaysUsageDescription</key>
    <string>Can we use your location</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>We are using your location</string>

Artık gerekli izinleri vermiş bulunmaktayız. Haritamız iOS platformunda da çalışabilir durumda. Eğer aklınıza takılan sorularını olursa yorum veya mail atarak bana ulaşabilirsiniz.

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir