다음을 통해 공유


Xamarin.Mac 확장 지원

Xamarin.Mac 2.10에서는 여러 macOS 확장 지점에 대한 지원이 추가되었습니다.

  • Finder
  • 공유
  • Today

제한 사항 및 알려진 문제

다음은 Xamarin.Mac에서 확장을 개발할 때 발생할 수 있는 제한 사항 및 알려진 문제입니다.

  • 현재 Mac용 Visual Studio 디버깅 지원이 없습니다. 모든 디버깅은 NSLog 및 콘솔통해 수행해야 합니다. 자세한 내용은 아래 팁 섹션을 참조하세요.
  • 확장은 시스템에 등록되어 한 번 실행되는 호스트 애플리케이션에 포함되어야 합니다. 그런 다음 시스템 기본 설정확장 섹션에서 사용하도록 설정해야 합니다.
  • 일부 확장 크래시로 인해 호스트 애플리케이션이 불안정해지고 이상한 동작이 발생할 수 있습니다. 특히 알림 센터의 FinderToday 섹션은 "방해"되고 응답하지 않을 수 있습니다. 이는 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 이상 앱에서 확장 작업을 간단히 살펴보았습니다.