Share via


Mac Catalyst 기능

Mac Catalyst .NET 다중 플랫폼 앱 UI(.NET MAUI) 앱은 앱과 시스템 리소스 또는 사용자 데이터 간의 액세스를 제한하는 규칙 집합을 제공하는 샌드박스에서 실행됩니다. Apple은 기능을 확장하고 Mac Catalyst 앱이 수행할 수 있는 작업의 범위를 넓히기 위한 수단으로 앱 서비스라고도 하는 기능을 제공합니다. 기능에 대한 자세한 내용은 developer.apple.com 기능을 참조하세요.

기능은 앱의 프로비저닝 프로필에 추가되며, 앱에 서명하는 코드를 사용할 때 사용됩니다. 프로비전 프로필에는 필요한 기능을 사용하도록 설정된 앱의 번들 식별자와 일치하는 앱 ID가 포함되어야 합니다. 프로비저닝 프로필은 Apple 개발자 계정에 만들어야 합니다.

기능은 자격 개념과 밀접한 관련이 있습니다. 둘 다 추가 기능을 제공하기 위해 앱이 실행되는 샌드박스의 확장을 요청합니다. 권한은 일반적으로 앱을 개발할 때 추가되지만, 일반적으로 배포를 위해 앱에 서명하는 코드를 사용할 때 기능이 추가됩니다. 자격에 대한 자세한 내용은 자격을 참조 하세요.

Apple 개발자 계정에 기능 추가

Apple 개발자 계정에서 앱의 프로비저닝 프로필에 기능을 추가할 수 있습니다. 서명 인증서, 앱 ID 및 프로비전 프로필을 만들어야 하는 다단계 프로세스입니다.

프로비저닝 프로필에 새 기능을 추가할 때 앱의 Entitlements.plist 파일에 동일한 기능을 추가하고 앱에서 이 파일을 사용하는지 확인해야 합니다. 자세한 내용은 자격을 참조 하세요. 특정 기능에 대해 Info.plist에서 개인 정보 키를 설정해야 할 수도 있습니다.

서명 인증서 만들기

프로비저닝 프로필을 만들려면 이전에 서명 인증서를 만들어야 합니다. 서명 인증서의 유형은 앱의 의도된 배포 채널에 따라 달라집니다.

앱 서비스를 사용하여 앱 ID 만들기

앱 ID는 앱을 고유하게 식별하는 역방향 DNS 문자열과 유사하며 배포하는 앱을 식별하는 데 필요합니다. 앱 ID는 앱의 번들 식별자와 동일해야 합니다.

Important

.NET MAUI 앱의 번들 식별자는 프로젝트 파일에 애플리케이션 ID 속성으로 저장됩니다.

  • Visual Studio의 솔루션 탐색기 .NET MAUI 앱 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 그런 다음 MAUI 공유 > 일반 탭으로 이동합니다. 애플리케이션 ID 필드에는 번들 식별자가 나열됩니다.
  • Mac용 Visual Studio 솔루션 창에서 .NET MAUI 앱 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 그런 다음 프로젝트 속성 창에서 앱 정보 빌드 > 탭을 선택합니다. 애플리케이션 ID 필드에는 번들 식별자가 나열됩니다.

애플리케이션 ID 필드의 값이 업데이트되면 Info.plist번들 식별자값이 자동으로 업데이트됩니다.

앱 ID에는 명시적 ID와 wild카드 두 가지 유형이 있습니다. 명시적 앱 ID는 단일 앱에 고유하며 일반적으로 형식 com.domainname.myid을 사용합니다. 명시적 앱 ID를 사용하면 일치하는 번들 식별자가 있는 하나의 앱을 디바이스에 설치할 수 있습니다. 앱별 기능을 사용하도록 설정하는 앱에는 명시적 앱 ID가 필요합니다.

명시적 앱 ID는 다음 단계를 사용하여 만들 수 있습니다.

  1. 웹 브라우저에서 Apple 개발자 계정의 식별자 섹션으로 이동하여 단추를 클릭합니다 + .

  2. 새 식별자 등록 페이지에서 앱 ID를 선택하고 계속 단추를 클릭합니다.

  3. 새 식별자 등록 페이지에서 앱 유형을 선택하고 계속 단추를 클릭합니다.

  4. 앱 ID 등록 페이지에서 설명을 제공하고 번들 IDExplicit설정합니다. 그런 다음 형식으로 앱 ID를 com.domainname.myid입력합니다.

    Screenshot of new App ID registration page with required fields populated.

  5. 앱 ID 등록 페이지의 기능App Services 탭에서 필요한 기능을 사용하도록 설정합니다.

    Screenshot of enabled capabilities.

  6. 앱 ID 등록 페이지에서 계속 단추를 클릭합니다.

  7. 앱 ID 확인 페이지에서 정보를 검토한 다음 등록 단추를 클릭합니다. 앱 ID가 성공적으로 등록되면 Apple 개발자 계정의 식별자 섹션으로 돌아갑니다.

  8. 식별자 페이지에서 방금 만든 앱 ID를 클릭합니다.

  9. 앱 ID 구성 편집 페이지에서 추가 설정이 필요한 사용 가능한 기능에는 구성 단추가 있습니다.

    Screenshot of editing capabilities.

    구성 단추를 클릭하여 사용하도록 설정된 기능을 구성합니다. 자세한 내용은 developer.apple.com 앱 기능 구성을 참조하세요.

프로비저닝 프로필 만들기

앱 ID를 만든 후에는 앱 ID에 대한 프로비저닝 프로필을 만들어야 합니다. 만드는 프로비저닝 프로필은 앱의 의도된 배포 채널에도 따라 달라집니다.

프로비저닝 프로필 다운로드

참고 항목

Mac용 Visual Studio 2024 년 8월 31일까지 은퇴할 예정입니다.Microsoft의 최신 수명 주기 정책입니다. Mac용 Visual Studio 17.6은 2024년 8월 31일까지 계속 지원되며, Apple의 보안 문제 및 업데이트된 플랫폼에 대한 서비스 업데이트가 제공됩니다. Mac에서 개발하기 위한 대체 옵션을 비롯한 자세한 내용은 Mac용 Visual Studio 무슨 일이 일어나고 있는지를 참조하세요.

프로비저닝 프로필을 만든 후에는 Mac용 Visual Studio 다운로드해야 합니다.

  1. Mac용 Visual Studio Apple 개발자 계정을 게시 > 하는 Visual Studio > 기본 설정 > 으로 이동합니다.
  2. Apple 개발자 계정 창에서 팀을 선택하고 세부 정보 보기... 단추를 클릭합니다.
  3. 세부 정보 창에서 새 프로필이 프로비전 프로필 목록에 표시되는지 확인합니다. 목록을 새로 고치려면 Mac용 Visual Studio 다시 시작해야 할 수 있습니다.
  4. 세부 정보 대화 상자에서 모든 프로필 다운로드 단추를 클릭합니다.

그러면 프로비저닝 프로필을 사용할 수 있습니다.

참고 항목

Xcode에서 프로비저닝 프로필을 다운로드할 수도 있습니다. 자세한 내용은 Xcode에서 프로비저닝 프로필 다운로드를 참조하세요.

프로젝트 파일에서 빌드 속성 정의

서명 인증서, 프로비저닝 프로필 및 권한 파일을 사용하도록 앱의 프로젝트 파일을 업데이트해야 합니다. 이 작업은 프로젝트 파일의 빌드 속성에 다음 빌드 속성을 <PropertyGroup> 추가하여 수행할 수 있습니다.

속성
<CodesignKey> 코드 서명 키의 이름입니다. 키 집합 액세스에 표시된 대로 배포 인증서의 이름으로 설정합니다.
<CodesignEntitlements> 앱에 필요한 자격을 지정하는 권한 파일의 경로입니다. Platforms\MacCatalyst\Entitlements.plist로 설정합니다.
<CodesignProvision> 앱 번들에 서명할 때 사용할 프로비전 프로필입니다.
<EnableCodeSigning> true 코드 서명을 사용하도록 설정합니다.

다음 예제에서는 Mac App Store 배포용 Mac Catalyst 앱을 빌드하고 서명하기 위한 일반적인 속성 그룹을 보여 줍니다.

<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net8.0-maccatalyst|AnyCPU'">
  <EnableCodeSigning>True</EnableCodeSigning>
  <CodesignKey>Apple Distribution: John Smith (AY2GDE9QM7)</CodesignKey>
  <CodesignProvision>MyMauiApp</CodesignProvision>
  <CodesignEntitlements>Platforms\MacCatalyst\Entitlements.plist</CodesignEntitlements>
</PropertyGroup>

문제 해결

다음 목록에서는 기능을 사용하는 .NET MAUI Mac Catalyst 앱을 개발할 때 문제를 일으킬 수 있는 일반적인 문제를 자세히 설명합니다.

  • Apple 개발자 계정의 식별자 섹션에 올바른 앱 ID가 만들어지고 등록되었는지 확인합니다.
  • 기능이 앱 ID에 추가되었고 기능이 올바른 값을 사용하여 구성되었는지 확인합니다.
  • 프로비전 프로필이 개발 컴퓨터에 설치되어 있고 앱의 Info.plist 파일이 앱 ID와 동일한 번들 식별자를 사용하고 있는지 확인합니다.
  • 앱의 Entitlements.plist 파일에 올바른 자격이 설정되어 있는지 확인합니다.
  • Info.plist필요한 개인 정보 보호 키가 설정되어 있는지 확인합니다.
  • 앱이 Entitlements.plist 파일을 사용하는지 확인합니다.