스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
손쉽게 사용할 수 있는 단일 앱 모드 경험 만들기
단일 앱 모드에서 앱을 사용하는 사용자에게 더 많은 제어 기능과 손쉬운 사용을 제공하는 방법을 알아보세요. UIAccessibility 및 자동 평가 구성 프레임워크를 사용하여 필요 시 이러한 제한을 적용하고, 설정 앱을 열지 않고도 이러한 손쉬운 사용 기능을 활성화하는 방법을 소개합니다. 또한 앱을 일시적으로 단일 앱 모드로 전환하는 iOS의 사용법 유도 기능을 더욱 효과적으로 지원하기 위해 앱 내에서 맞춤형 제한을 추가하는 방법을 안내합니다.
리소스
관련 비디오
WWDC23
WWDC22
-
다운로드
♪ ♪ 안녕하세요, 저는 Drew Haas이고 Accessibility 팀의 엔지니어입니다 저는 이 자리에서 접근가능한 단일 앱 모드 환경을 만드는 방법에 대해 이야기하려고 합니다 단일 앱 모드를 사용하면 개발자가 iOS 및 iPadOS 기기에서 특정 동작을 제한하여 정말 독특한 방식으로 사용자에게 서비스를 제공할 수 있습니다 즉, 이러한 모드를 사용하면 장치를 단일 앱으로 잠글 수 있습니다 모드에 따라 시스템 또는 앱에서 제한을 시작합니다 이것은 제한된 상태와 제한되지 않은 상태 사이의 타이밍을 제어할 수 있기 때문에 좋습니다 자동 잠금 활성화 여부와 같은 단일 앱 모드 외에 추가 제한을 적용할 수도 있습니다
접근성 사용 사례를 고려해야 합니다 접근성 기능을 사용하는 사람들이 장치가 제한된 경우에도 사용할 수 있도록 해당 기능을 켤 수 있는지 확인해야 합니다 이렇게 하면 보조 기술을 사용하는 사람들이 앱을 사용할 수 있습니다 단일 앱 모드를 사용하는 경우에 대한 몇 가지 예를 소개해 드리겠습니다 고객이 레스토랑이나 이벤트에서 음식이나 음료를 주문하는 앱을 개발 중이라고 가정해 보죠 환자가 자신의 정보를 입력하기 위해 의료진이 공유하는 장치를 취급하는 앱이 될 수도 있고 교실에서 학생들의 시험을 용이하게 하는 앱일 수도 있습니다 이는 모두 단일 앱 모드 제한을 이용해 사용자를 위한 집중된 환경을 만드는 데 도움이 되는 시나리오입니다 앱에 대한 코드를 작성하지 않은 경우에도 앱이 단일 앱 모드에서 사용될 수 있다는 사실을 알고 계셨나요? 맞습니다, Guided Access는 사용자가 모든 앱을 단일 앱 모드로 전환할 수 있는 접근성 기능입니다 먼저 Guided Access에 대해 알아보고 이 모드에서 앱을 사용할 때 고려해야 할 몇 가지 사항에 대해 살펴보겠습니다 그런 다음, 특정 API 및 프레임워크를 채택하여 앱 내에서 프로그래밍 방식으로 시작하는 단일 앱 모드에 대해 설명해 드리겠습니다 마지막으로 단일 앱 모드에서 특별히 사용하도록 설계된 접근성 API가 제공됩니다 이 API를 사용하여 특정 접근성 기능을 켜거나 끌 수 있으며 사용이 원활하고 접근 가능한 환경을 만들 수 있습니다 그럼 먼저, Guided Access에 대해 알아보죠 Guided Access를 시작하려면 먼저 접근성 설정에서 이 기능이 켜져 있는지 확인한 후, 잠그려는 앱을 엽니다 측면 버튼을 세 번 클릭하여 접근성 단축키를 수행합니다 이것은 시스템 제한을 구성하는 Guided access 작업 공간을 보여줍니다 그런 다음 시작 버튼을 눌러 시작하세요
이제 장치가 제한된 상태입니다 가장 전면에 있는 앱이 잠겨 있고 옵션 메뉴에서 구성한 제한 사항이 적용됩니다 이는 인지 장애가 있는 사람들을 위한 안내된 환경을 만드는 데 도움이 됩니다 Guided Access를 종료하려면 접근성 단축키를 다시 수행하기만 하면 됩니다 옵션 메뉴를 사용하면 터치 상호 작용, 디스플레이 동작 및 소프트웨어 키보드는 물론 볼륨 버튼 및 잠자기/깨우기 버튼과 같은 하드웨어 버튼 이벤트를 제한할 수 있습니다 이러한 방식으로 통제된 환경을 갖는 것은 인지 장애가 있는 사람들에게 특히 유용하지만 이 기능은 또한 접근성 사용자부터 이러한 장치 제한에 쉽게 액세스할 수 있는 어린 자녀의 부모에 이르기까지 다양한 사용자들에게 유용합니다 여기에서 바로 여러분이 필요하죠 UIAccessibility API를 사용하면 사용자 지정 제한이 생겨 Guided Access 동안 앱 환경을 조정할 수 있습니다 이 기회를 사용하여 인지 장애가 있는 사람이 사용을 어려워하거나 수많은 옵션 가운데 무엇을 선택할 지 모를 때를 대비해 앱 영역을 제한하거나 조정할 수 있습니다 인지 접근성에 대한 몇 가지 디자인 고려 사항을 공유해 드리겠습니다 이러한 원칙은 가능하면 항상 따라야 하지만 특히 Guided Access 동안에는 앱에서 꼭 따라야 합니다 첫째, 오류에 대한 용서입니다 계정 정보 또는 결제 정보를 삭제하거나 수정하는 등 중요하거나 되돌릴 수 없는 작업을 수행하기 전에 사용자에게 경고하여 오류가 발생하기 전에 이를 경감시킬 수 있습니다 모든 사람이 같은 속도로 정보를 처리하는 것은 아니기 때문에 앱의 특정 작업에 대한 시간 의존도를 줄이는 것을 목표로 해야 합니다 시간 제한 알림을 사용하거나 잠시 제한 후에 자동으로 작업을 수행하면 앱을 사용하기가 더 어려워집니다 그리고 항상 사용자가 결제하기 전에 확인할 기회를 제공해야 합니다 여기에는 원터치 구매가 포함된 앱이 포함됩니다 이러한 고려 사항을 고려하여 앱을 디자인하면 접근성 사용자의 독립성을 높일 수 있습니다 예를 하나 들어보겠습니다 저는 사람들이 한 주 동안 얼마나 읽었는지 추적하는 데 도움이 되는 Reading Observatory라는 앱을 개발 중입니다 앱의 홈 페이지에는 읽기 진행률이 표시되며 계정 설정과 계속 읽기 버튼의 두 가지 버튼이 있습니다 Guided Access가 활성화되어 있는 동안 계정 설정 버튼을 잠그는 앱에 사용자 지정 제한을 추가했습니다 이를 통해 사용자들에게 고유한 경험을 제공하죠 사용자들이 계정 설정에 들어가 의도하지 않은 변경을 설정한다거나 앱 내에서 길을 잃는 상황을 방지하는 데 도움이 됩니다 이렇게 하면 사용자가 시간을 낭비하지 않고 앱 사용 목적에 맞게 독서량을 정상 궤도로 올려 놓는 데 필요한 시간도 줄어들 것입니다 이를 위해 먼저 AppDelegate를 UIGuidedAccessRestrictionDelegate 프로토콜에 따르세요 식별자 어레이를 제공하여 각 제한 사항을 Guided Access에 알려야 합니다 저는 하나밖에 없는데요 각 식별자에는 사용자에게 표시되는 제목을 달아야 하며 추가 세부 정보를 제공해야 하는 경우 선택적 설명을 제공해야 합니다 이 문자열은 옵션 메뉴에 표시됩니다 마지막으로, guideAccessRestriction (withIdentifier:didChange:)메소드를 사용하여 제한이 토글될 때 콜백을 수신하세요 이를 통해 앱은 사용자가 특정 버튼을 누를 때 상호 작용을 끄거나 이전의 디자인 원칙 중 일부를 도입하는 것과 같은 제한 사항을 수용할 논리를 수행하기 위해 알림을 포스팅할 수 있습니다 UIAccessibility에서 guidedAccessRestrictionState(forIdentifier:)를 호출하여 사용자 정의 제한의 활성화 여부를 언제든지 확인할 수 있습니다 제한 사항이 적용된 모든 시스템 및 앱 사용자 지정 앱 기반 제한사항으로 Guided Access의 설정변경이 매우 쉬워져 이는 매우 뛰어난 접근성 기능을 제공합니다 Guided Access는 접근성 설정에서 찾을 수 있습니다 다른 단일 앱 모드를 사용하여 장치에서 제한된 세션을 프로그래밍 방식으로 입력할 수 있습니다 그들은 Guided Access와 유사하지만 주요 차이점은 프로그래밍 방식으로 이 모드를 입력한다는 것입니다 그렇기 때문에, 단일 앱 모드 세션 설정, 시작 및 사용자 지정에 대해 이야기해 드릴 내용이 많습니다 이전의 각 시나리오를 기억하시나요? 레스토랑 주문대에서 사용되거나 의료 사무실, 테스트 환경에서 사용되는 iPad를 보면 단일 앱 모드는 이러한 모든 상황에 적합한 솔루션입니다 각각의 요구 사항이 조금씩 다 다를 수 있지만 모두 장치를 단일 앱으로 잠글 수 있다는 이점이 있습니다 이렇게 하면 스와이핑하여 홈으로 돌아가거나 설정을 변경하거나 Safari에서 검색하는 것까지 방지할 수 있습니다 각각을 함께 살펴보고 필요한 제한 사항에 맞춰 적합한 단일 앱 모드를 권장해 드리겠습니다
첫 번째 보드는 가장 기본적이며 배포가 용이합니다 말 그래도 '단일 앱 모드'라고 합니다 이 모드는 거의 영구적으로 단일 앱을 유지하려는 장치가 있는 경우에 적합한 솔루션입니다 앱 내에서도 잠긴 상태로 유지되며 유리 관리를 위해 수동 개입이 필요하지 않습니다 참여도가 낮은 접근 방식에 적합하죠 그래도 주의사항이 몇 가지 있습니다 장치를 반드시 감독해야 합니다 감독 도구를 사용하면 많은 양의 장치를 한 번에 단일 앱 모드로 잠글 수 있으므로 많은 장치로 작업하는 경우 매우 확장 가능한 솔루션입니다 Apple Configurator를 사용하면 감독 대상 기기를 단일 앱 모드로 전환하는 등 다양한 방법으로 관리할 수 있습니다 감독 대상 장치를 선택한 다음 고급 아래에서 단일 앱 모드 시작을 선택합니다
마지막으로는 앱을 선택하는 것입니다 그렇게 하면 자동으로 실행되고 중요한 위치에 잠깁니다
이 모드를 종료하는 다른 방법은 없습니다 이미 언급했듯이 관리 소프트웨어를 통해 단일 앱 모드를 종료하지 않는 한 재부팅 시에도 이 앱에 잠긴 상태로 유지됩니다 자율 단일 앱 모드는 제한된 상태에서 자주 드나드는 상황에 더 적합합니다 예를 들어, 의료 사무실에서 새로운 환자가 iPad에 정보를 입력한 후 다시 직원에게 전달할 경우가 이에 해당됩니다 이는 제한되는 동안 수동적 개입이 있음을 의미합니다 앱은 들어오고 나가는 단일 API 메서드 호출을 사용하여 이 작업을 자체적으로 수행합니다 여기서 고려해야 할 점은 장치를 감독해야 하며 이 API를 사용하려는 앱은 장치의 구성 프로필에 나열되는 것을 허용해야 합니다 그렇지 않으면 권한이 없기 때문에 잠금 요청이 실패하게 됩니다 가장 강력한 방법은 UIAccessibility의 requestGuidedAccessSession(enabled:complet ionHandler:)입니다 뭔가 낯익지 않나요? 오른쪽의 이 API는 Guided Access의 루트를 바로 사용합니다 기본적으로 이 코드를 사용하여 이 기능을 프로그래밍 방식으로 시작하고 종료합니다 멋지지 않나요? 그것은 Guided Access가 다른 단일 앱 모드가 존재할 수 있게 하는 기초 역할을 하기 때문입니다 이건 정말 몰랐죠? 이 코드가 실제로 어떻게 작동하는지 봅시다 이 모드에 들어가고 나갈 준비가 되었을 때 호출할 각각의 방법이 있습니다 그들은 우리가 제한된 상태에 들어갈 때 새로운 환자 등록 차트를 시작하고 나올 때 정보를 보관하는 것과 같은 다른 작업을 수행하고 있습니다 물론 완료 처리기의 결과를 적절하게 처리하여 문제가 발생하는지 알고 싶을 것입니다 그렇다면 사용자에게 경고를 보내고 사용자가 다시 시도할 수 있도록 경험을 계속하는 것을 보류할 수 있습니다 UIAccessibility에서 isGuidedAccessEnabled를 호출하여 자율 단일 앱 모드가 활성화되어 있는지 언제든지 확인하세요 또한 이 모드를 시작하거나 종료할 때 추가 코드를 트리거하려면 guidedAccessStatusDidChangeNotification을 관찰하세요 그리고 이 API를 사용하려는 앱은 앱의 번들 ID를 자율 단일 앱 모드에 대해 허용되는 애플리케이션으로 허용하는 것을 포함하여 적절한 감독 및 관리가 있어야 한다는 점을 기억하세요 마지막으로 평가 모드입니다 앱이 테스트 중에 특정 기능을 제한하여 불공정한 이점을 방지하려는 경우에 적합한 모드입니다 응시자가 외부 메모나 리소스에 액세스할 수 없도록 자동 수정, 맞춤법 검사 및 앱에 대한 단일 앱 모드 잠금을 끕니다 최근에 자동 평가 구성 프레임워크를 도입하면서 이러한 프레임워크가 iOS 및 macOS용으로 통합되었습니다 이를 사용하려면 이전 모드와 같이 장치를 감독할 필요가 없지만 앱에 대한 평가 자격을 Apple에 신청해야 합니다 자격 신청에 대한 자세한 내용은 개발자 문서에서 찾을 수 있습니다 제 동료인 Josh가 수많은 코드 예제와 문서 리소스를 포함하여 자동 평가 구성 프레임워크를 사용하는 방법을 설명하는 아주 훌륭한 WWDC 세션을 준비했습니다 꼭 확인해 보세요 어떤 단일 앱 모드 솔루션이 나에게 적합한지 찾아내거나 이미 사용중인 솔루션이 있는 경우 사람들이 보조 기술을 사용하여 여러분의 앱을 사용한다는 점 잊지 마세요 이 환경에 액세스할 수 있도록 하려면 추가 단계가 필요할 수 있습니다 식당 주문대에서 iPad를 사용하는 전형적인 예시에서 시각 장애인 고객이 주문을 하러 오는 경우를 가정해 봅시다 장치가 분명히 단일 앱 모드로 잠겨 있다면 문제가 있는 것입니다 설정을 열고 접근성으로 이동하여 이 고객에 대해 VoiceOver를 켤 수 없습니다 그럼 어떻게 해야 할까요?
Apple Configurator 및 기타 기기 관리 소프트웨어를 사용하면 단일 앱 모드에 대한 옵션을 구성할 수 있습니다 몇 가지 접근성 기능을 항상 활성화할 수 있으며 "삼중 클릭" 메뉴라고도 하는 접근성 바로 가기를 구성하여 사용자가 VoiceOver, 확대/축소, 색상 반전, AssistiveTouch 및 음성 제어와 같은 접근성 기능을 빠르게 토글할 수 있습니다 이러한 기능이 항상 켜져 있거나 접근성 바로 가기에 할당된 경우 이러한 기술을 사용하는 사람들이 앱을 탐색하는 동안 사용할 수 있도록 합니다 이것을 설정하기가 매우 쉬우니 꼭 한번 시도해 보세요
그러나 이러한 옵션은 단일 앱 모드에 들어가기 전에 구성해야 합니다 그렇다면 단일 앱 모드에서는 어떨까요? UIAccessibility에서 API를 사용하여 코드로 직접 접근성 기능을 토글합니다 접근성 바로가기는 장치가 주문대 내부에 들어 있을 때 하드웨어 버튼을 차단하므로 기능을 전환하는 데 필요한 훌륭한 대안입니다 접근성 기능을 쉽게 끌 수 있도록 이 API를 만들었습니다 사용자 간에 일부 정리 작업을 수행하고 상태를 재절성할 수 있도록 말이죠 이렇게 하려면 UIAccessibility에서 configureForGuidedAccess를 호출합니다 호환 가능한 접근성 기능과 활성화 여부를 전달해야 합니다 Zoom, VoiceOver, Invert Colors, AssistiveTouch 및 Grayscale에서 작동합니다 따라서 앱에 Guided Access에 대한 사용자 지정 제한이 있는지 또는 단일 앱 모드를 중심으로 전체 환경을 구축하는지 여부에 관계없이 어떻게 접근할 수 있는지 아는 것이 중요합니다 잘못된 종류의 제한을 사용하면 접근성이 떨어지기 때문에 장애가 있는 사용자들이 앱을 사용할 때의 경험을 고려하세요 접근 가능한 단일 앱 모드 환경을 만드는 데 필요한 API를 보여 드렸습니다 이제 훌륭하고 접근가능한 앱을 만들어 보세요
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.