Xamarin.Mac 확장 지원
Xamarin.Mac 2.10에서는 여러 macOS 확장 지점에 대한 지원이 추가되었습니다.
- Finder
- 공유
- Today
제한 사항 및 알려진 문제
다음은 Xamarin.Mac에서 확장을 개발할 때 발생할 수 있는 제한 사항 및 알려진 문제입니다.
- 현재 Mac용 Visual Studio 디버깅 지원이 없습니다. 모든 디버깅은 NSLog 및 콘솔을 통해 수행해야 합니다. 자세한 내용은 아래 팁 섹션을 참조하세요.
- 확장은 시스템에 등록되어 한 번 실행되는 호스트 애플리케이션에 포함되어야 합니다. 그런 다음 시스템 기본 설정의 확장 섹션에서 사용하도록 설정해야 합니다.
- 일부 확장 크래시로 인해 호스트 애플리케이션이 불안정해지고 이상한 동작이 발생할 수 있습니다. 특히 알림 센터의 Finder 및 Today 섹션은 "방해"되고 응답하지 않을 수 있습니다. 이는 Xcode의 확장 프로젝트에서도 경험되었으며 현재 Xamarin.Mac과 관련이 없는 것으로 표시됩니다. 시스템 로그(콘솔을 통해 자세한 내용은 팁 참조)에서 반복되는 오류 메시지를 인쇄하는 경우가 많습니다. macOS를 다시 시작하면 이 문제를 해결하는 것으로 보입니다.
팁
다음 팁은 Xamarin.Mac에서 확장을 사용할 때 유용할 수 있습니다.
Xamarin.Mac은 현재 디버깅 확장을 지원하지 않으므로 디버깅 환경은 주로 실행 및
printf
like 문에 따라 달라집니다. 그러나 확장은 샌드박스 프로세스에서 실행되므로Console.WriteLine
다른 Xamarin.Mac 애플리케이션에서와 같이 동작하지 않습니다. 직접 호출하면NSLog
디버깅 메시지가 시스템 로그에 출력됩니다.Catch되지 않은 예외는 시스템 로그에 소량의 유용한 정보만 제공하여 확장 프로세스를 중단합니다. 다시 throw하기 전의
try/catch
(예외) 블록에 문제가 있는NSLog
코드를 래핑하는 것이 유용할 수 있습니다.시스템 로그는 애플리케이션>유틸리티 아래의 콘솔 앱에서 액세스할 수 있습니다.
위에서 설명한 대로 확장 호스트 애플리케이션을 실행하면 시스템에 등록됩니다. 등록을 취소하여 애플리케이션 번들을 삭제합니다.
앱 확장의 "길잃은" 버전이 등록된 경우 다음 명령을 사용하여 해당 확장을 찾습니다(삭제할 수 있음).
plugin kit -mv
연습
개발자는 Xamarin.iOS 확장과 동일한 방식으로 Xamarin.Mac 확장을 만들고 사용하므로 자세한 내용은 확장 소개 설명서를 참조하세요.
요약
이 문서에서는 Xamarin.Mac 버전 2.10 이상 앱에서 확장 작업을 간단히 살펴보았습니다.