Поддержка расширения Xamarin.Mac
В Xamarin.Mac 2.10 добавлена поддержка нескольких точек расширения macOS:
- Finder
- Общий доступ
- Today
Ограничения и известные проблемы
Ниже приведены ограничения и известны проблемы, которые могут возникнуть при разработке расширений в Xamarin.Mac:
- В настоящее время в Visual Studio для Mac поддержка отладки отсутствует. Все отладки необходимо выполнить с помощью NSLog и консоли. Дополнительные сведения см. в разделе советов ниже.
- Расширения должны содержаться в хост-приложении, которое при однократном выполнении с регистрацией в системе. Затем они должны быть включены в разделе расширения системных параметров.
- Некоторые сбои расширения могут дестабилизировать хост-приложение и вызвать странное поведение. В частности, Finder и раздел "Сегодня" центра уведомлений может стать "зажатым" и не отвечать. Это было связано с проектами расширений в Xcode, и в настоящее время не связано с Xamarin.Mac. Часто это можно увидеть в системном журнале (с помощью консоли см. Советы подробных сведений) для печати повторяющихся сообщений об ошибках. При перезапуске macOS появляется исправление этого.
Советы
Следующие советы могут быть полезны при работе с расширениями в Xamarin.Mac:
Так как в настоящее время Xamarin.Mac не поддерживает расширения отладки, процесс отладки в основном зависит от выполнения и
printf
подобных инструкций. Однако расширения выполняются в изолированном процессе, поэтомуConsole.WriteLine
не будут действовать так, как это делается в других приложениях Xamarin.Mac.NSLog
Вызов непосредственно выводит сообщения отладки в системный журнал.Все необработанные исключения завершатся сбоем процесса расширения, предоставляя только небольшое количество полезных сведений в системном журнале. Упаковка проблемного кода в
try/catch
блок (исключение), которыйNSLog
до повторного выполнения может оказаться полезным.Системный журнал можно получить из консольногоприложения в разделе "Служебные программы приложений>":
Как отмечалось выше, запуск ведущего приложения расширения будет регистрировать его в системе. Удаление пакета приложения с отменой регистрации.
Если зарегистрированы версии расширений приложения ,используйте следующую команду, чтобы найти их (чтобы их можно было удалить):
plugin kit -mv
Пошаговое руководство
Так как разработчик создаст и будет работать с расширениями Xamarin.Mac таким же образом, как и расширения Xamarin.iOS, см. в нашей документации по расширениям "Введение в расширения".
Итоги
В этой статье описано, как работать с расширениями в приложении Xamarin.Mac версии 2.10 (и выше).