Xamarin.Mac Uzantısı Desteği

Xamarin.Mac'te birden çok macOS uzantı noktası için 2.10 desteği eklendi:

  • Bulucu
  • Paylaş
  • Bugün

Sınırlamalar ve Bilinen Sorunlar

Xamarin.Mac'te uzantı geliştirirken oluşabilecek sınırlamalar ve bilinen sorunlar şunlardır:

  • şu anda Mac için Visual Studio'de hata ayıklama desteği yoktur. Tüm hata ayıklamanın NSLog ve Konsol aracılığıyla yapılması gerekir. Ayrıntılar için aşağıdaki ipuçları bölümüne bakın.
  • Uzantılar, sisteme kaydetme ile bir kez çalıştırıldığında bir konak uygulamasında bulunmalıdır. Daha sonra Sistem Tercihleri'nin Uzantı bölümünde etkinleştirilmelidir.
  • Bazı uzantı kilitlenmeleri konak uygulamasının istikrarını bozabilir ve garip davranışlara neden olabilir. Özellikle, Bildirim Merkezi'ninBulucu ve Bugün bölümü "sıkışabilir" ve yanıt vermemeye başlayabilir. Bu, Xcode'daki uzantı projelerinde de deneyimlenmiştir ve şu anda Xamarin.Mac ile ilgisiz görünüyor. Bu durum genellikle sistem günlüğünde (Konsol aracılığıyla, ayrıntılar için İpuçları bakın) yinelenen hata iletilerini yazdırarak görülebilir. MacOS'un yeniden başlatılması bunu düzeltmek için görünür.

İpuçları

Xamarin.Mac'te uzantılarla çalışırken aşağıdaki ipuçları yararlı olabilir:

  • Xamarin.Mac şu anda hata ayıklama uzantılarını desteklemediğinden, hata ayıklama deneyimi öncelikli olarak yürütmeye ve printf benzer deyimlere bağlıdır. Ancak, uzantılar bir korumalı alan işleminde çalıştırılır, bu nedenle Console.WriteLine diğer Xamarin.Mac uygulamalarında olduğu gibi çalışmaz. Doğrudan çağrılırsa NSLog hata ayıklama iletileri Sistem Günlüğü'ne aktarılır.

  • Yakalanmayan özel durumlar uzantı işlemini kilitleyerek Sistem Günlüğü'nde yalnızca az miktarda yararlı bilgi sağlar. Sorunlu kodu yeniden oluşturmadan önceki bir try/catch (Özel Durum) bloğunda NSLogsarmalama yararlı olabilir.

  • Sistem Günlüğüne, Uygulama>Yardımcı Programları altındaki Konsol uygulamasından erişilebilir:

    Sistem günlüğü

  • Yukarıda belirtildiği gibi, uzantı ana bilgisayar uygulamasını çalıştırmak bunu sisteme kaydeder. Kaydı kaldırarak uygulama paketini silme.

  • Bir uygulamanın uzantılarının "sapkın" sürümleri kayıtlıysa, bunları bulmak için aşağıdaki komutu kullanın (silinebilmeleri için): plugin kit -mv

İzlenecek yol

Geliştirici Xamarin.iOS uzantılarıyla aynı şekilde Xamarin.Mac uzantıları oluşturup bunlarla çalışacağından, daha fazla ayrıntı için uzantılara giriş belgelerimize bakın.

Özet

Bu makale, Xamarin.Mac sürüm 2.10 (ve üzeri) uygulamasında uzantılarla çalışmaya hızlı bir şekilde göz atmıştır.