qt_add_harmonyos_permission
대상 실행 파일에 HarmonyOS 권한을 추가합니다.
이 명령어는 Qt6 패키지의 Core 컴포넌트에 정의되어 있으며, 다음과 같이 불러올 수 있습니다:
find_package(Qt6 REQUIRED COMPONENTS Core)이 명령어는 Qt 6.12에서 도입되었습니다.
참고: 이 명령어는 기술 미리보기 단계에 있으며 향후 릴리스에서 변경될 수 있습니다.
참고: 이 명령어는 HarmonyOS 플랫폼을 대상으로 하는 경우에만 호출해야 합니다.
개요
qt_add_harmonyos_permission(target
NAME <permission-name>
[REASON <reason>]
[USED_SCENE_ABILITIES <ability> [<ability>...]]
[USED_SCENE_WHEN inuse | always]
)버전 정보가 없는 명령어가 비활성화된 경우, 대신 ` qt6_add_harmonyos_permission() `을 사용하십시오. 이 명령어와 동일한 인자 집합을 지원합니다.
설명
이 명령어는 target 실행 파일에 HarmonyOS 권한을 추가합니다. 이 권한은 HAP 패키지가 빌드될 때 생성된 module.json5 매니페스트의 requestPermissions 배열에 기록됩니다. 이 명령어를 사용하여 애플리케이션이 링크된 Qt 모듈이 제공하는 기본 권한 외에 추가 권한을 요청할 수 있습니다.
사용 가능한 권한 이름 및 해당 요구 사항 목록은 HarmonyOS 애플리케이션 권한 문서를 참조하십시오.
인수
NAME 는 권한 식별자입니다(예: ohos.permission.CAMERA). 이 인수는 유일한 필수 인수입니다.
REASON 는 시스템이 user_grant 권한을 요청할 때 사용자에게 표시되는 메시지입니다. 리터럴 문자열이나, 애플리케이션의 리소스 파일에서 현지화된 문자열로 해결되는 $string:<name> 리소스 참조를 모두 허용합니다. REASON 를 지정하면 해당 권한에 대해 usedScene 블록이 생성됩니다.
USED_SCENE_ABILITIES 는 해당 권한을 사용하는 기능(ability)의 목록입니다. usedScene 블록이 생성될 때 이 항목이 생략되면, 기본값은 QAbility 로 설정되며, 이는 Qt 애플리케이션을 호스팅하는 단일 기능입니다.
USED_SCENE_WHEN 권한에 액세스할 시점을 설정합니다. 허용되는 값은 inuse (애플리케이션이 전경에 있을 때만 권한이 사용됨) 및 always (백그라운드에서도 권한이 사용됨)입니다. usedScene 블록이 생성될 때 이 값이 생략되면 기본값은 inuse 입니다.
USED_SCENE_ABILITIES 및 USED_SCENE_WHEN 키워드는 생성된 module.json5 파일 내 권한의 usedScene 객체에 있는 abilities 및 when 필드와 직접 매핑됩니다.
예시
qt_add_harmonyos_permission(myapp
NAME ohos.permission.CAMERA
REASON "$string:camera_permission_reason"
USED_SCENE_WHEN inuse
)
qt_add_harmonyos_permission(myapp
NAME ohos.permission.INTERNET
)Qt for HarmonyOS CMake API도 참조하십시오 .
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.