다음을 통해 공유


Mac Catalyst 자격

Mac Catalyst에서 .NET 다중 플랫폼 앱 UI(.NET MAUI) 앱은 앱과 시스템 리소스 또는 사용자 데이터 간의 액세스를 제한하는 규칙 집합을 제공하는 샌드박스에서 실행됩니다. 자격은 Siri와의 통합과 같은 추가 기능을 앱에 제공하기 위해 샌드박스 확장을 요청하는 데 사용됩니다. 앱에서 사용하는 모든 자격은 앱의 Entitlements.plist 파일에 지정해야 합니다. 자격에 대한 자세한 내용은 developer.apple.com 대한 자격을 참조하세요.

자격 지정 외에도 Entitlements.plist 파일을 사용하여 앱에 코드를 서명합니다. 앱에 코드를 서명할 때 권한 파일은 Apple 개발자 계정의 정보 및 기타 프로젝트 정보와 결합하여 앱에 최종 자격 집합을 적용합니다.

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

Important

Entitlements.plist 파일은 Apple 개발자 계정에 연결되지 않습니다. 따라서 앱에 대한 프로비저닝 프로필을 만들 때 앱에서 사용하는 모든 자격도 프로비저닝 프로필의 기능으로 지정되어야 합니다. 자세한 내용은 기능을 참조하세요.

Entitlements.plist 파일 추가

.NET MAUI 앱 프로젝트에 새 권한 파일을 추가하려면 Apps 프로젝트의 Platforms/MacCatalyst 폴더에 Entitlements.plist라는 새 XML 파일을 추가합니다. 그런 다음 파일에 다음 XML을 추가합니다.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>

자격 설정

권한은 Visual Studio Code에서 Entitlements.plist 파일을 두 번 클릭하여 편집기에서 연 다음 자격에 필요한 XML을 입력하여 구성할 수 있습니다. 자세한 내용은 키 참조를 참조하세요.

참고 항목

특정 자격에 대해 Info.plist에서 개인 정보 키를 설정해야 할 수도 있습니다.

자격 사용

.NET MAUI Mac Catalyst 앱은 Entitlements.plist 파일에 정의된 자격을 사용하도록 구성해야 합니다. 이 작업은 앱의 $(CodesignEntitlements) .csproj 파일에서 속성 그룹에 빌드 속성을 추가하여 수행할 수 있습니다.

<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net8.0-maccatalyst|AnyCPU'">
  <CodesignEntitlements>Platforms\MacCatalyst\Entitlements.plist</CodesignEntitlements>
</PropertyGroup>

Important

빌드 속성은 $(CodesignEntitlements) 앱의 각 빌드 구성에 대해 별도로 설정할 수 있습니다.

또는 앱을 빌드하고 게시할 때 CLI를 통해 자격 파일을 지정할 수 있습니다. 자세한 내용은 .NET MAUI Mac Catalyst 앱 게시를 참조 하세요.

키 참조

자격 키/값 쌍은 참조를 위해 아래에 나열되어 있습니다. Visual Studio에서 Entitlements.plist 파일을 XML 파일로 편집하여 추가할 수 있습니다. Visual Studio Code에서는 Entitlements.plist 파일에서 XML을 편집하여 추가할 수 있습니다.

WiFi 정보 액세스

이 액세스 WiFi 정보 자격을 통해 앱은 현재 연결된 WiFi 네트워크에 대한 정보를 얻을 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.networking.wifi-info 키를 사용하여 정의됩니다.

<key>com.apple.developer.networking.wifi-info</key>
<true/>

자세한 내용은 developer.apple.com 대한 액세스 WiFi 정보 권한을 참조하세요.

앱 테스트

앱 증명 자격을 사용하면 디바이스에서 특별한 암호화 키를 생성하고 이를 사용하여 서버에서 중요한 데이터에 대한 액세스를 제공하기 전에 앱의 무결성을 확인할 수 있습니다.

자격은 다음 형식Stringcom.apple.developer.devicecheck.appattest-environment 키를 사용하여 정의됩니다.

<key>com.apple.developer.devicecheck.appattest-environment</key>
<string>development</string>

자세한 내용은 developer.apple.com App Attest Environment 를 참조하세요.

앱 그룹

앱 그룹 자격을 사용하면 앱이 여러 관련 앱 간에 공유되는 그룹 컨테이너에 액세스하고 앱 간에 프로세스 간 통신을 수행할 수 있습니다.

자격은 다음 형식 Array Stringcom.apple.security.application-groups 키를 사용하여 정의됩니다.

<key>com.apple.security.application-groups</key>
<array>
  <string>group.MyAppGroups</string>
</array>

자세한 내용은 developer.apple.com 앱 그룹 권한을 참조하세요.

Apple Pay

Apple Pay 자격을 통해 사용자는 장치에 저장된 결제 정보를 사용하여 식료품, 의류, 티켓 및 예약과 같은 물리적 인 좋은 서비스와 서비스를 쉽고 안전하게 지불 할 수 있습니다.

자격은 다음 형식 Array Stringcom.apple.developer.in-app-payments 키를 사용하여 정의됩니다.

<key>com.apple.developer.in-app-payments</key>
<array>
  <string>merchant.your.merchantid</string>
</array>

자세한 내용은 developer.apple.com 가맹점 ID 자격을 참조하세요.

연결된 도메인

연결된 도메인 자격을 사용하면 Safari 액세스, 저장된 암호 및 활동 연속과 같은 특정 서비스에 대한 특정 도메인과 앱을 연결할 수 있습니다.

자격은 다음 형식 Array Stringcom.apple.developer.associated-domains 키를 사용하여 정의됩니다.

<key>com.apple.developer.associated-domains</key>
<array>
  <string>webcredentials:example.com</string>
</array>

자세한 내용은 developer.apple.com 관련 도메인 자격을 참조하세요.

자격 증명 공급자 자동 채우기

자동 채우기 자격 증명 공급자 자격을 사용하면 사용자 권한이 있는 앱이 앱 및 Safari에 자동 채우기에 대한 사용자 이름과 암호를 제공할 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.authentication-services.autofill-credential-provider 키를 사용하여 정의됩니다.

<key>com.apple.developer.authentication-services.autofill-credential-provider</key>
<true/>

자세한 내용은 developer.apple.com 자격 증명 공급자 권한 자동 채우기를 참조하세요.

ClassKit

ClassKit 자격을 통해 앱은 학교 관리 환경에서 책의 장을 읽거나 퀴즈를 풀는 등 할당된 활동에 대한 교사와 학생 진행 상황을 사적으로 안전하게 공유할 수 있습니다.

자격은 다음 형식Stringcom.apple.developer.ClassKit-environment 키를 사용하여 정의됩니다.

<key>com.apple.developer.ClassKit-environment</key>
<string>development</string>

자세한 내용은 developer.apple.com ClassKit 환경 자격을 참조하세요.

드라이버와 통신

드라이버 권한과 통신하면 앱과 DriverKit 드라이버 간의 통신이 가능합니다.

자격은 다음 형식Booleancom.apple.developer.driverkit.communicates-with-drivers 키를 사용하여 정의됩니다.

<key>com.apple.developer.driverkit.communicates-with-drivers</key>
<true/>

자세한 내용은 developer.apple.com 드라이버와 통신을 참조하세요.

통신 알림

통신 알림 자격을 통해 앱은 한 사람 또는 여러 사람에게 통신 알림을 보낼 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.usernotifications.communication 키를 사용하여 정의됩니다.

<key>com.apple.developer.usernotifications.communication</key>
<true/>

자세한 내용은 developer.apple.com 알림 서비스 권한 요청을 참조하세요.

데이터 보호

데이터 보호 자격을 통해 앱은 지원되는 디바이스에서 기본 제공 암호화를 사용할 수 있습니다. 보호된 파일로 지정하면 시스템에서 파일을 암호화된 형식으로 저장합니다.

자격은 다음 형식Stringcom.apple.developer.default-data-protection 키를 사용하여 정의됩니다.

<key>com.apple.developer.default-data-protection</key>
<string>NSFileProtectionComplete</string>

자세한 내용은 developer.apple.com 데이터 보호 권한을 참조하세요.

확장된 가상 주소 지정

확장된 가상 주소 지정 자격을 사용하면 앱에서 더 많은 주소 공간을 사용할 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.kernel.extended-virtual-addressing 키를 사용하여 정의됩니다.

<key>com.apple.developer.kernel.extended-virtual-addressing</key>
<true/>

자세한 내용은 developer.apple.com 확장 가상 주소 지정 권한을 참조하세요.

패밀리 컨트롤

가족 컨트롤 자격은 앱에서 자녀 보호 기능을 사용하도록 설정하여 ScreenTime API의 관리되는 설정 및 디바이스 활동 프레임워크에 대한 액세스 권한을 부여합니다. 가족 컨트롤을 사용하려면 사용자 등록을 위해 가족 공유가 필요합니다. 앱 제거를 방지하고 네트워크 확장에서 디바이스 내 콘텐츠 필터를 사용하도록 설정합니다.

자격은 다음 형식Booleancom.apple.developer.family-controls 키를 사용하여 정의됩니다.

<key>com.apple.developer.family-controls</key>
<true/>

자세한 내용은 developer.apple.com 가족 컨트롤 권한을 참조하세요.

FileProvider 테스트 모드

FileProvider 테스트 모드 자격은 테스트 중에 파일 공급자 확장이 시스템의 동작을 더 많이 제어할 수 있도록 하는 테스트 모드를 사용하도록 설정합니다.

자격은 다음 형식Booleancom.apple.developer.fileprovider.testing-mode 키를 사용하여 정의됩니다.

<key>com.apple.developer.fileprovider.testing-mode</key>
<true/>

자세한 내용은 developer.apple.com FileProvider 테스트 모드 자격을 참조하세요.

글꼴

글꼴 자격을 통해 사용자 권한이 있는 앱에서 사용자 지정 글꼴을 설치하고 사용할 수 있습니다.

자격은 다음 형식 Array Stringcom.apple.developer.user-fonts 키를 사용하여 정의됩니다.

<key>com.apple.developer.user-fonts</key>
<array>
  <string>system-installation</string>
</array>

자세한 내용은 developer.apple.com 사용자 지정 글꼴 구성을 참조하세요.

그룹 활동

그룹 활동 자격을 사용하면 앱이 하나 이상의 다른 디바이스에서 동일한 앱과 통신하여 FaceTime 호출 내에서 그룹 활동을 만들 수 있습니다. FaceTime의 그룹 활동을 통해 사용자는 비디오를 함께 시청하거나, 함께 음악을 듣거나, 다른 동기 활동을 수행할 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.group-session 키를 사용하여 정의됩니다.

<key>com.apple.developer.group-session</key>
<true/>

자세한 내용은 developer.apple.com 그룹 활동 자격을 참조하세요.

HealthKit

HealthKit 자격을 사용하면 앱이 사용자 권한, 개인 건강 정보를 사용하여 액세스할 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.healthkit 키를 사용하여 정의됩니다.

<key>com.apple.developer.healthkit</key>
<true/>

자세한 내용은 developer.apple.com HealthKit 자격을 참조하세요.

HomeKit

HomeKit 자격을 사용하면 앱이 HomeKit 액세서리와 상호 작용할 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.homekit 키를 사용하여 정의됩니다.

<key>com.apple.developer.homekit</key>
<true/>

자세한 내용은 developer.apple.com HomeKit 권한을 참조하세요.

핫스팟 구성

핫스팟 구성 권한 자격을 통해 앱은 WiFi 네트워크를 구성할 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.networking.HotspotConfiguration 키를 사용하여 정의됩니다.

<key>com.apple.developer.networking.HotspotConfiguration</key>
<true/>

자세한 내용은 developer.apple.com 핫스팟 구성 자격을 참조하세요.

iCloud

iCloud 자격을 사용하면 앱이 클라우드에 데이터를 저장할 수 있으므로 사용자가 여러 디바이스에서 데이터를 공유할 수 있습니다.

권한은 컨테이너 식별자를 나타내는 키, 형식 Array String및 추가 키를 사용하여 com.apple.developer.icloud-container-development-container-identifiers 정의됩니다.

<key>com.apple.developer.icloud-container-identifiers</key>
<array>
  <string>iCloud.com.companyname.test</string>
</array>
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>

$(AppIdentifierPrefix)$(CFBundleIdentifier) 자리 표시자는 빌드 시 올바른 값으로 대체됩니다.

자세한 내용은 developer.apple.com iCloud 컨테이너 식별자 권한을 참조하세요.

메모리 제한 증가

메모리 제한 권한 증가로 앱이 지원되는 디바이스의 기본 앱 메모리 제한을 초과할 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.kernel.increased-memory-limit 키를 사용하여 정의됩니다.

<key>com.apple.developer.kernel.increased-memory-limit</key>
<true/>

자세한 내용은 developer.apple.com 대한 메모리 제한 권한 증가를 참조하세요.

앱 간 오디오

앱 간 오디오 자격을 사용하면 앱이 앱 간 오디오를 사용하도록 설정된 다른 앱 간에 오디오를 보내고 받을 수 있습니다.

자격은 다음 형식Booleaninter-app-audio 키를 사용하여 정의됩니다.

<key>inter-app-audio</key>
<true/>

자세한 내용은 developer.apple.com 앱 간 오디오 자격을 참조하세요.

Important

이 자격은 iOS 13에서 더 이상 사용되지 않으며 macOS에서 iPads 앱을 실행할 때 사용할 수 없습니다.

키 집합

키 집합 자격을 사용하면 동일한 팀에서 작성한 여러 앱이 암호를 공유할 수 있습니다.

자격은 다음 형식 Array Stringkeychain-access-groups 키를 사용하여 정의됩니다.

<key>keychain-access-groups</key>
<array>
  <string>$(AppIdentifierPrefix)com.companyname.test</string>
</array>

자세한 내용은 developer.apple.com 키 집합 액세스 그룹 자격을 참조하세요.

MDM 관리형 연결된 도메인

MDM(모바일 개발 관리) 관리형 관련 도메인 자격을 사용하면 MDM이 앱에 포함된 연결된 도메인을 환경에 고유한 서버 이름과 같은 값으로 보완할 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.associated-domains.mdm-managed 키를 사용하여 정의됩니다.

<key>com.apple.developer.associated-domains.mdm-managed</key>
<true/>

다중 경로

다중 경로 자격을 사용하면 앱이 다중 경로 TCP와 같은 다중 경로 프로토콜을 사용할 수 있습니다. 이 프로토콜은 한 인터페이스에서 다른 인터페이스로 트래픽을 원활하게 전달합니다.

자격은 다음 형식Booleancom.apple.developer.networking.multipath 키를 사용하여 정의됩니다.

<key>com.apple.developer.networking.multipath</key>
<true/>

자세한 내용은 developer.apple.com 다중 경로 권한을 참조하세요.

근거리 통신 태그 판독기

근거리 통신 태그 판독기 자격을 사용하면 앱이 NFC(NFC Data Exchanged Format) NFC(근거리 통신) 태그를 읽을 수 있습니다.

자격은 다음 형식 Array Stringcom.apple.developer.nfc.readersession.formats 키를 사용하여 정의됩니다.

<key>com.apple.developer.nfc.readersession.formats</key>
<array>
  <string>NDEF</string>
  <string>TAG</string>
</array>

자세한 내용은 developer.apple.com 근거리 통신 태그 판독기 세션 형식 자격을 참조하세요.

네트워크 확장

네트워크 확장 자격을 사용하면 디바이스의 네트워크 기능을 확장하고 사용자 지정하는 앱 확장을 만들 수 있습니다.

자격은 다음 형식 Array Stringcom.apple.developer.networking.networkextension 키를 사용하여 정의됩니다.

<key>com.apple.developer.networking.networkextension</key>
<array>
  <string>content-filter-provider</string>
</array>

자세한 내용은 developer.apple.com 네트워크 확장 자격을 참조하세요.

개인 VPN

개인 VPN 자격을 통해 앱은 사용자 지정 VPN 연결을 사용할 수 있습니다.

자격은 다음 형식 Array Stringcom.apple.developer.networking.vpn.api 키를 사용하여 정의됩니다.

<key>com.apple.developer.networking.vpn.api</key>
<array>
  <string>allow-vpn</string>
</array>

자세한 내용은 developer.apple.com 개인 VPN 자격을 참조하세요.

푸시 알림

푸시 알림 자격을 사용하면 앱이 푸시 알림을 받을 수 있습니다.

자격은 다음 형식Stringaps-environment 키를 사용하여 정의됩니다.

<key>aps-environment</key>
<string>development</string>

자세한 내용은 developer.apple.com APS 환경 자격을 참조하세요.

푸시하여 말하기

푸시 투 토크 권한을 사용하면 앱이 백그라운드 오디오 전송 및 수신을 처리할 수 있도록 푸시 투 토크 채널을 시스템에 보고할 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.push-to-talk 키를 사용하여 정의됩니다.

<key>com.apple.developer.push-to-talk</key>
<true/>

자세한 내용은 developer.apple.com 대한 대화 권한 푸시를 참조하세요.

사용자와 공유

사용자 권한과 공유하면 앱이 메시지 대화에서 공유된 링크를 클레임할 수 있으며 공유된 사용자 프레임워크를 통해 앱에 표시될 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.shared-with-you 키를 사용하여 정의됩니다.

<key>com.apple.developer.shared-with-you</key>
<true/>

Apple로 로그인

Apple 권한으로 로그인하면 사용자가 Apple ID로 인증할 수 있습니다.

자격은 다음 형식 Array Stringcom.apple.developer.applesignin 키를 사용하여 정의됩니다.

<key>com.apple.developer.applesignin</key>
<array>
  <string>Default</string>
</array>

자세한 내용은 developer.apple.com Apple 권한으로 로그인을 참조하세요.

Siri

Siri 자격을 사용하면 앱이 Siri 요청을 처리할 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.siri 키를 사용하여 정의됩니다.

<key>com.apple.developer.siri</key>
<true/>

자세한 내용은 developer.apple.com Siri 자격을 참조하세요.

시간에 민감한 알림

시간 중요한 알림 자격을 통해 앱은 시간에 민감한 알림을 처리할 수 있습니다. 시간에 민감한 알림은 즉각적인 주의를 요구하는 정보를 전달하고 알림이 수신되는 순간 조치를 취하기 위해 개인에게 직접 호출합니다. 시간에 민감한 경고는 항상 즉시 전달되고, 다른 알림 위에 표시되며, 포커스 및 방해 금지로 돌파할 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.usernotifications.time-sensitive 키를 사용하여 정의됩니다.

<key>com.apple.developer.usernotifications.time-sensitive</key>
<true/>

전자지갑

지갑 자격을 통해 앱은 패스, 티켓, 기프트 카드 및 로열티 카드를 관리할 수 있습니다. 다양한 바코드 형식을 지원합니다.

자격은 다음 형식 Array Stringcom.apple.developer.pass-type-identifiers 키를 사용하여 정의됩니다.

<key>com.apple.developer.pass-type-identifiers</key>
<array>
  <string>$(TeamIdentifierPrefix)*</string>
</array>

이 예제에서는 앱이 모든 통과 형식을 허용하도록 설정합니다. 앱을 제한하고 팀 패스 형식 집합만 허용하려면 문자열 값을 Pass ID 위치 pass.$(CFBundleIdentifier)$(TeamIdentifierPrefix)pass.$(CFBundleIdentifier) 설정합니다.

자세한 내용은 developer.apple.com 유형 ID 자격 통과를 참조하세요.

WeatherKit

WeatherKit 자격을 사용하면 앱이 현재 및 예측 날씨 정보를 수신하고 처리할 수 있습니다.

자격은 다음 형식Booleancom.apple.developer.weatherkit 키를 사용하여 정의됩니다.

<key>com.apple.developer.weatherkit</key>
<true/>

자세한 내용은 developer.apple.com WeatherKit 자격을 참조하세요.

무선 액세서리 구성

무선 액세서리 구성 자격을 통해 앱은 WiFi 액세서리를 구성할 수 있습니다.

자격은 다음 형식Booleancom.apple.external-accessory.wireless-configuration 키를 사용하여 정의됩니다.

<key>com.apple.external-accessory.wireless-configuration</key>
<true/>

자세한 내용은 developer.apple.com 무선 액세서리 구성 자격을 참조하세요.