Obsługa rozszerzenia Xamarin.Mac

W systemie Xamarin.Mac 2.10 dodano obsługę wielu punktów rozszerzeń systemu macOS:

  • Finder
  • Udostępnij
  • Today

Ograniczenia i znane problemy

Poniżej przedstawiono ograniczenia i informacje o problemach, które mogą wystąpić podczas tworzenia rozszerzeń na platformie Xamarin.Mac:

  • Obecnie nie ma obsługi debugowania w Visual Studio dla komputerów Mac. Wszystkie debugowanie należy wykonać za pośrednictwem NSLog i konsoli. Szczegółowe informacje można znaleźć w poniższej sekcji z poradami.
  • Rozszerzenia muszą być zawarte w aplikacji hosta, która po uruchomieniu jednorazowo z rejestracją w systemie. Następnie należy je włączyć w sekcji Rozszerzenia preferencji systemowych.
  • Niektóre awarie rozszerzenia mogą destabilizować aplikację hosta i powodować dziwne zachowanie. W szczególności program Finder i sekcja Today Centrum powiadomień mogą stać się "zacięte" i nie odpowiadać. Wystąpiło to również w projektach rozszerzeń w środowisku Xcode i obecnie nie ma związku z platformą Xamarin.Mac. Często można to zobaczyć w dzienniku systemu (za pośrednictwem konsoli, zobacz Wskazówki, aby uzyskać szczegółowe informacje) drukowanie powtarzających się komunikatów o błędach. Ponowne uruchomienie systemu macOS wydaje się rozwiązać ten problem.

Wskazówki

Poniższe wskazówki mogą być przydatne podczas pracy z rozszerzeniami na platformie Xamarin.Mac:

  • Ponieważ platforma Xamarin.Mac obecnie nie obsługuje rozszerzeń debugowania, środowisko debugowania będzie zależeć przede wszystkim od wykonywania i printf instrukcji podobnych. Rozszerzenia są jednak uruchamiane w procesie piaskownicy, dlatego Console.WriteLine nie będą działać tak samo jak w innych aplikacjach platformy Xamarin.Mac. Wywołanie bezpośrednio spowoduje wyprowadzenie NSLog komunikatów debugowania do dziennika systemu.

  • Wszelkie nieuchwycone wyjątki spowodują awarię procesu rozszerzenia, zapewniając tylko niewielką ilość przydatnych informacji w dzienniku systemu. Zawijanie kłopotliwego try/catch kodu w bloku (wyjątek), który NSLogjest przed ponownym zgłaszaniem może być przydatne.

  • Dostęp do dziennika systemu można uzyskać z poziomu aplikacji konsolowej w obszarze Narzędzia aplikacji>:

    Dziennik systemu

  • Jak wspomniano powyżej, uruchomienie aplikacji hosta rozszerzenia spowoduje zarejestrowanie go w systemie. Usunięcie pakietu aplikacji przy użyciu wyrejestrowania go.

  • Jeśli zarejestrowane są "bezpańskie" wersje rozszerzeń aplikacji, użyj następującego polecenia, aby je zlokalizować (aby można je było usunąć): plugin kit -mv

Przewodnik

Ponieważ deweloper utworzy rozszerzenia platformy Xamarin.Mac i będzie pracować z tymi samymi rozszerzeniami platformy Xamarin.iOS, zapoznaj się z naszą dokumentacją Wprowadzenie do rozszerzeń , aby uzyskać więcej szczegółów.

Podsumowanie

W tym artykule przedstawiono szybką pracę z rozszerzeniami w aplikacji Xamarin.Mac w wersji 2.10 (i nowszej).