Xamarin.Essentials 시작하기
Xamarin.Essentials는 사용자 인터페이스가 생성된 방식과 관계없이 공유 코드에서 액세스할 수 있는 모든 iOS, Android 또는 UWP 애플리케이션에서 작동하는 단일 플랫폼 간 API를 제공합니다. 지원되는 운영 체제에 대한 자세한 내용은 플랫폼 및 기능 지원 지침을 참조하세요.
설치
Xamarin.Essentials는 NuGet 패키지로 사용할 수 있으며 Visual Studio의 모든 새 프로젝트에 포함되어 있습니다. 다음 단계를 통해 Visual Studio를 사용하는 기존 프로젝트에 추가할 수도 있습니다.
Visual Studio Tools for Xamarin을 사용하여 Visual Studio를 다운로드하고 설치합니다.
기존 프로젝트를 열거나, Visual Studio C# 아래의 비어 있는 앱 템플릿(Android, iPhone 및 iPad, 플랫폼 간)을 사용하여 새 프로젝트를 만듭니다.
Important
UWP 프로젝트에 추가하려면 프로젝트 속성에 빌드 16299 이상이 설정되었는지 확인합니다.
Xamarin.Essentials NuGet 패키지를 각 프로젝트에 추가합니다.
솔루션 탐색기 패널에서 솔루션 이름을 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 관리를 선택합니다. Xamarin.Essentials를 검색하고 Android, iOS, UWP 및 .NET Standard 라이브러리를 포함한 모든 프로젝트에 패키지를 설치합니다.
C# 클래스에서 Xamarin.Essentials에 대한 참조를 추가하여 API를 참조합니다.
using Xamarin.Essentials;
Xamarin.Essentials에는 플랫폼별 설정이 필요합니다.
Xamarin.Essentials는 API 레벨 19에 해당하는 최소 Android 버전 4.4를 지원하지만, 컴파일 대상 Android 버전은 API 레벨 28 및 29에 해당하는 9.0 또는 10.0이어야 합니다. (Visual Studio에서 이러한 두 버전은 Android 매니페스트 탭의 Android 프로젝트에 대한 프로젝트 속성 대화 상자에서 설정됩니다. Mac용 Visual Studio Android 애플리케이션 탭의 Android 프로젝트에 대한 프로젝트 옵션 대화 상자에서 설정됩니다.)
Android 9.0에 대해 컴파일할 때 Xamarin.Essentials는 필요한 Xamarin.Android.Support 라이브러리 버전 28.0.0.3을 설치합니다. NuGet 패키지 관리자를 사용하여 애플리케이션에 필요한 다른 모든 Xamarin.Android.Support 라이브러리도 버전 28.0.0.3으로 업데이트해야 합니다. 애플리케이션에서 사용하는 모든 Xamarin.Android.Support 라이브러리는 동일해야 하며, 적어도 28.0.0.3 버전이어야 합니다. Xamarin.Essentials NuGet을 추가하거나 솔루션의 NuGet을 업데이트하는 데 문제가 있는 경우 문제 해결 페이지를 참조하세요.
버전 1.5.0부터는 Android 10.0에 대해 컴파일할 때 Xamarin.Essentials는 필요한 AndroidX 지원 라이브러리를 설치합니다. 아직 전환하지 않은 경우에는 AndroidX 설명서를 참조하세요.
Android 프로젝트의
MainLauncher
또는 시작된Activity
의OnCreate
메서드에서 Xamarin.Essentials를 초기화해야 합니다.protected override void OnCreate(Bundle savedInstanceState) { //... base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); // add this line to your code, it may also be called: bundle //...
Android에서 런타임 권한을 처리하려면 Xamarin.Essentials가
OnRequestPermissionsResult
를 받아야 합니다. 모든Activity
클래스에 다음 코드를 추가합니다.public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Android.Content.PM.Permission[] grantResults) { Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults); base.OnRequestPermissionsResult(requestCode, permissions, grantResults); }
각 기능에 대한 코드 조각을 복사하여 붙여넣을 수 있는 Xamarin.Essentials 가이드를 따르세요.
Xamarin.Essentials - 모바일 앱용 플랫폼 간 API(비디오)
기타 리소스
Xamarin을 처음 접하는 개발자의 경우 Xamarin 개발 시작을 방문하는 것이 좋습니다.
현재 소스 코드 및 향후 제공될 기능을 확인하고, 샘플을 실행하고, 리포지토리를 복제하려면 Xamarin.Essentials GitHub 리포지토리를 방문하세요. 커뮤니티 기여 환영!
API 문서에서 Xamarin.Essentials의 모든 기능을 살펴보세요.