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 네트워크에 대한 정보를 얻을 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.networking.wifi-info
키를 사용하여 정의됩니다.
<key>com.apple.developer.networking.wifi-info</key>
<true/>
자세한 내용은 developer.apple.com 대한 액세스 WiFi 정보 권한을 참조하세요.
앱 테스트
앱 증명 자격을 사용하면 디바이스에서 특별한 암호화 키를 생성하고 이를 사용하여 서버에서 중요한 데이터에 대한 액세스를 제공하기 전에 앱의 무결성을 확인할 수 있습니다.
자격은 다음 형식String
의 com.apple.developer.devicecheck.appattest-environment
키를 사용하여 정의됩니다.
<key>com.apple.developer.devicecheck.appattest-environment</key>
<string>development</string>
자세한 내용은 developer.apple.com App Attest Environment 를 참조하세요.
앱 그룹
앱 그룹 자격을 사용하면 앱이 여러 관련 앱 간에 공유되는 그룹 컨테이너에 액세스하고 앱 간에 프로세스 간 통신을 수행할 수 있습니다.
자격은 다음 형식 Array
String
의 com.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
String
의 com.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
String
의 com.apple.developer.associated-domains
키를 사용하여 정의됩니다.
<key>com.apple.developer.associated-domains</key>
<array>
<string>webcredentials:example.com</string>
</array>
자세한 내용은 developer.apple.com 관련 도메인 자격을 참조하세요.
자격 증명 공급자 자동 채우기
자동 채우기 자격 증명 공급자 자격을 사용하면 사용자 권한이 있는 앱이 앱 및 Safari에 자동 채우기에 대한 사용자 이름과 암호를 제공할 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.authentication-services.autofill-credential-provider
키를 사용하여 정의됩니다.
<key>com.apple.developer.authentication-services.autofill-credential-provider</key>
<true/>
자세한 내용은 developer.apple.com 자격 증명 공급자 권한 자동 채우기를 참조하세요.
ClassKit
ClassKit 자격을 통해 앱은 학교 관리 환경에서 책의 장을 읽거나 퀴즈를 풀는 등 할당된 활동에 대한 교사와 학생 진행 상황을 사적으로 안전하게 공유할 수 있습니다.
자격은 다음 형식String
의 com.apple.developer.ClassKit-environment
키를 사용하여 정의됩니다.
<key>com.apple.developer.ClassKit-environment</key>
<string>development</string>
자세한 내용은 developer.apple.com ClassKit 환경 자격을 참조하세요.
드라이버와 통신
드라이버 권한과 통신하면 앱과 DriverKit 드라이버 간의 통신이 가능합니다.
자격은 다음 형식Boolean
의 com.apple.developer.driverkit.communicates-with-drivers
키를 사용하여 정의됩니다.
<key>com.apple.developer.driverkit.communicates-with-drivers</key>
<true/>
자세한 내용은 developer.apple.com 드라이버와 통신을 참조하세요.
통신 알림
통신 알림 자격을 통해 앱은 한 사람 또는 여러 사람에게 통신 알림을 보낼 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.usernotifications.communication
키를 사용하여 정의됩니다.
<key>com.apple.developer.usernotifications.communication</key>
<true/>
자세한 내용은 developer.apple.com 알림 서비스 권한 요청을 참조하세요.
데이터 보호
데이터 보호 자격을 통해 앱은 지원되는 디바이스에서 기본 제공 암호화를 사용할 수 있습니다. 보호된 파일로 지정하면 시스템에서 파일을 암호화된 형식으로 저장합니다.
자격은 다음 형식String
의 com.apple.developer.default-data-protection
키를 사용하여 정의됩니다.
<key>com.apple.developer.default-data-protection</key>
<string>NSFileProtectionComplete</string>
자세한 내용은 developer.apple.com 데이터 보호 권한을 참조하세요.
확장된 가상 주소 지정
확장된 가상 주소 지정 자격을 사용하면 앱에서 더 많은 주소 공간을 사용할 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.kernel.extended-virtual-addressing
키를 사용하여 정의됩니다.
<key>com.apple.developer.kernel.extended-virtual-addressing</key>
<true/>
자세한 내용은 developer.apple.com 확장 가상 주소 지정 권한을 참조하세요.
패밀리 컨트롤
가족 컨트롤 자격은 앱에서 자녀 보호 기능을 사용하도록 설정하여 ScreenTime API의 관리되는 설정 및 디바이스 활동 프레임워크에 대한 액세스 권한을 부여합니다. 가족 컨트롤을 사용하려면 사용자 등록을 위해 가족 공유가 필요합니다. 앱 제거를 방지하고 네트워크 확장에서 디바이스 내 콘텐츠 필터를 사용하도록 설정합니다.
자격은 다음 형식Boolean
의 com.apple.developer.family-controls
키를 사용하여 정의됩니다.
<key>com.apple.developer.family-controls</key>
<true/>
자세한 내용은 developer.apple.com 가족 컨트롤 권한을 참조하세요.
FileProvider 테스트 모드
FileProvider 테스트 모드 자격은 테스트 중에 파일 공급자 확장이 시스템의 동작을 더 많이 제어할 수 있도록 하는 테스트 모드를 사용하도록 설정합니다.
자격은 다음 형식Boolean
의 com.apple.developer.fileprovider.testing-mode
키를 사용하여 정의됩니다.
<key>com.apple.developer.fileprovider.testing-mode</key>
<true/>
자세한 내용은 developer.apple.com FileProvider 테스트 모드 자격을 참조하세요.
글꼴
글꼴 자격을 통해 사용자 권한이 있는 앱에서 사용자 지정 글꼴을 설치하고 사용할 수 있습니다.
자격은 다음 형식 Array
String
의 com.apple.developer.user-fonts
키를 사용하여 정의됩니다.
<key>com.apple.developer.user-fonts</key>
<array>
<string>system-installation</string>
</array>
자세한 내용은 developer.apple.com 사용자 지정 글꼴 구성을 참조하세요.
그룹 활동
그룹 활동 자격을 사용하면 앱이 하나 이상의 다른 디바이스에서 동일한 앱과 통신하여 FaceTime 호출 내에서 그룹 활동을 만들 수 있습니다. FaceTime의 그룹 활동을 통해 사용자는 비디오를 함께 시청하거나, 함께 음악을 듣거나, 다른 동기 활동을 수행할 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.group-session
키를 사용하여 정의됩니다.
<key>com.apple.developer.group-session</key>
<true/>
자세한 내용은 developer.apple.com 그룹 활동 자격을 참조하세요.
HealthKit
HealthKit 자격을 사용하면 앱이 사용자 권한, 개인 건강 정보를 사용하여 액세스할 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.healthkit
키를 사용하여 정의됩니다.
<key>com.apple.developer.healthkit</key>
<true/>
자세한 내용은 developer.apple.com HealthKit 자격을 참조하세요.
HomeKit
HomeKit 자격을 사용하면 앱이 HomeKit 액세서리와 상호 작용할 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.homekit
키를 사용하여 정의됩니다.
<key>com.apple.developer.homekit</key>
<true/>
자세한 내용은 developer.apple.com HomeKit 권한을 참조하세요.
핫스팟 구성
핫스팟 구성 권한 자격을 통해 앱은 WiFi 네트워크를 구성할 수 있습니다.
자격은 다음 형식Boolean
의 com.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 컨테이너 식별자 권한을 참조하세요.
메모리 제한 증가
메모리 제한 권한 증가로 앱이 지원되는 디바이스의 기본 앱 메모리 제한을 초과할 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.kernel.increased-memory-limit
키를 사용하여 정의됩니다.
<key>com.apple.developer.kernel.increased-memory-limit</key>
<true/>
자세한 내용은 developer.apple.com 대한 메모리 제한 권한 증가를 참조하세요.
앱 간 오디오
앱 간 오디오 자격을 사용하면 앱이 앱 간 오디오를 사용하도록 설정된 다른 앱 간에 오디오를 보내고 받을 수 있습니다.
자격은 다음 형식Boolean
의 inter-app-audio
키를 사용하여 정의됩니다.
<key>inter-app-audio</key>
<true/>
자세한 내용은 developer.apple.com 앱 간 오디오 자격을 참조하세요.
Important
이 자격은 iOS 13에서 더 이상 사용되지 않으며 macOS에서 iPads 앱을 실행할 때 사용할 수 없습니다.
키 집합
키 집합 자격을 사용하면 동일한 팀에서 작성한 여러 앱이 암호를 공유할 수 있습니다.
자격은 다음 형식 Array
String
의 keychain-access-groups
키를 사용하여 정의됩니다.
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.companyname.test</string>
</array>
자세한 내용은 developer.apple.com 키 집합 액세스 그룹 자격을 참조하세요.
MDM 관리형 연결된 도메인
MDM(모바일 개발 관리) 관리형 관련 도메인 자격을 사용하면 MDM이 앱에 포함된 연결된 도메인을 환경에 고유한 서버 이름과 같은 값으로 보완할 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.associated-domains.mdm-managed
키를 사용하여 정의됩니다.
<key>com.apple.developer.associated-domains.mdm-managed</key>
<true/>
다중 경로
다중 경로 자격을 사용하면 앱이 다중 경로 TCP와 같은 다중 경로 프로토콜을 사용할 수 있습니다. 이 프로토콜은 한 인터페이스에서 다른 인터페이스로 트래픽을 원활하게 전달합니다.
자격은 다음 형식Boolean
의 com.apple.developer.networking.multipath
키를 사용하여 정의됩니다.
<key>com.apple.developer.networking.multipath</key>
<true/>
자세한 내용은 developer.apple.com 다중 경로 권한을 참조하세요.
근거리 통신 태그 판독기
근거리 통신 태그 판독기 자격을 사용하면 앱이 NFC(NFC Data Exchanged Format) NFC(근거리 통신) 태그를 읽을 수 있습니다.
자격은 다음 형식 Array
String
의 com.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
String
의 com.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
String
의 com.apple.developer.networking.vpn.api
키를 사용하여 정의됩니다.
<key>com.apple.developer.networking.vpn.api</key>
<array>
<string>allow-vpn</string>
</array>
자세한 내용은 developer.apple.com 개인 VPN 자격을 참조하세요.
푸시 알림
푸시 알림 자격을 사용하면 앱이 푸시 알림을 받을 수 있습니다.
자격은 다음 형식String
의 aps-environment
키를 사용하여 정의됩니다.
<key>aps-environment</key>
<string>development</string>
자세한 내용은 developer.apple.com APS 환경 자격을 참조하세요.
푸시하여 말하기
푸시 투 토크 권한을 사용하면 앱이 백그라운드 오디오 전송 및 수신을 처리할 수 있도록 푸시 투 토크 채널을 시스템에 보고할 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.push-to-talk
키를 사용하여 정의됩니다.
<key>com.apple.developer.push-to-talk</key>
<true/>
자세한 내용은 developer.apple.com 대한 대화 권한 푸시를 참조하세요.
사용자와 공유
사용자 권한과 공유하면 앱이 메시지 대화에서 공유된 링크를 클레임할 수 있으며 공유된 사용자 프레임워크를 통해 앱에 표시될 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.shared-with-you
키를 사용하여 정의됩니다.
<key>com.apple.developer.shared-with-you</key>
<true/>
Apple로 로그인
Apple 권한으로 로그인하면 사용자가 Apple ID로 인증할 수 있습니다.
자격은 다음 형식 Array
String
의 com.apple.developer.applesignin
키를 사용하여 정의됩니다.
<key>com.apple.developer.applesignin</key>
<array>
<string>Default</string>
</array>
자세한 내용은 developer.apple.com Apple 권한으로 로그인을 참조하세요.
Siri
Siri 자격을 사용하면 앱이 Siri 요청을 처리할 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.siri
키를 사용하여 정의됩니다.
<key>com.apple.developer.siri</key>
<true/>
자세한 내용은 developer.apple.com Siri 자격을 참조하세요.
시간에 민감한 알림
시간 중요한 알림 자격을 통해 앱은 시간에 민감한 알림을 처리할 수 있습니다. 시간에 민감한 알림은 즉각적인 주의를 요구하는 정보를 전달하고 알림이 수신되는 순간 조치를 취하기 위해 개인에게 직접 호출합니다. 시간에 민감한 경고는 항상 즉시 전달되고, 다른 알림 위에 표시되며, 포커스 및 방해 금지로 돌파할 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.usernotifications.time-sensitive
키를 사용하여 정의됩니다.
<key>com.apple.developer.usernotifications.time-sensitive</key>
<true/>
전자지갑
지갑 자격을 통해 앱은 패스, 티켓, 기프트 카드 및 로열티 카드를 관리할 수 있습니다. 다양한 바코드 형식을 지원합니다.
자격은 다음 형식 Array
String
의 com.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 자격을 사용하면 앱이 현재 및 예측 날씨 정보를 수신하고 처리할 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.developer.weatherkit
키를 사용하여 정의됩니다.
<key>com.apple.developer.weatherkit</key>
<true/>
자세한 내용은 developer.apple.com WeatherKit 자격을 참조하세요.
무선 액세서리 구성
무선 액세서리 구성 자격을 통해 앱은 WiFi 액세서리를 구성할 수 있습니다.
자격은 다음 형식Boolean
의 com.apple.external-accessory.wireless-configuration
키를 사용하여 정의됩니다.
<key>com.apple.external-accessory.wireless-configuration</key>
<true/>
자세한 내용은 developer.apple.com 무선 액세서리 구성 자격을 참조하세요.
.NET MAUI