![](http://222.178.203.72:19005/whst/63/=gdkozZookdzbnl//assets/6537FB06A074DBB5E802EA07/6537FB31280588A5490B6E1D/ko_KR/52d714626638d3391623c853be0c593b.png)
iOS, iPadOS 및 macOS의 확장 프로그램 지원
iOS, iPadOS 및 macOS에서는 확장 프로그램을 제공하여 앱이 다른 앱으로 기능을 제공할 수 있습니다. 확장 프로그램은 특정 목적을 위해 서명된 실행 가능한 바이너리로서 앱 내에 패키지되어 있습니다. 설치하는 동안 시스템은 자동으로 확장 프로그램을 인식하고 일치하는 시스템을 사용하는 다른 앱에서 확장 프로그램을 사용하도록 허용합니다.
확장 포인트
확장 프로그램을 지원하는 시스템 영역을 확장 포인트라고 부릅니다. 각각의 확장 포인트는 API를 제공하며 해당 영역의 정책을 시행합니다. 시스템에서는 확장 포인트 지정 매칭 규칙에 따라 확장 프로그램의 사용 가능 여부를 판단합니다. 시스템은 필요한 경우 자동으로 확장 프로그램 프로세스를 실행하며 확장 프로그램의 수명을 관리합니다. 권한을 사용해 특정 시스템 앱이 확장 프로그램을 사용하지 못하게 제한할 수 있습니다. 예를 들어 오늘 보기 위젯이 알림 센터에만 나타나고 공유 확장 프로그램이 공유 패널에서만 사용 가능하도록 합니다. 확장 포인트의 예시로는 오늘 위젯, 공유, 동작, 사진 편집, 파일 제공자 및 사용자 설정 키보드가 있습니다.
확장 프로그램 통신 방식
확장 프로그램은 자신의 주소 공간에서 실행됩니다. 확장 프로그램과 이를 활성화한 앱 간의 통신은 시스템 프레임워크를 통한 프로세스 간 통신을 사용합니다. 확장 프로그램과 앱은 서로 간의 파일 또는 메모리 공간에 대한 접근 권한이 없습니다. 확장 프로그램은 다른 확장 프로그램, 확장 프로그램을 포함하는 앱 및 확장 프로그램을 사용하는 앱으로부터 분리되도록 디자인되어 있습니다. 다른 타사 앱처럼 샌드박스되어 확장 프로그램을 포함하는 앱의 컨테이너와 분리된 컨테이너를 가지고 있습니다. 하지만 확장 프로그램을 포함하는 앱과 개인정보 보호 제어에 대한 권한을 같이 공유합니다. 그렇기 때문에 사용자가 앱에서 연락처 앱의 접근을 허용하면 앱에 내장된 확장 프로그램에도 이 권한이 확장되지만, 해당 앱이 활성화한 확장 프로그램에는 권한이 허용되지 않습니다.
사용자 설정 키보드 사용 방법
사용자 설정 키보드는 사용자가 시스템 전체에 활성화시키는 특별한 유형의 확장 프로그램입니다. 키보드 확장 프로그램이 활성화되면 키보드 확장 프로그램이 암호 입력 및 보안 텍스트 보기를 제외한 모든 텍스트 필드에 사용됩니다. 사용자 데이터 전송을 제한하기 위해 사용자 설정 키보드는 기본적으로 매우 제한된 샌드박스에서 실행되어 네트워크, 프로세스를 대신해 네트워크 작업을 실행하는 서비스, 입력한 데이터를 추출할 수 있는 확장 프로그램을 허용하는 API에 대한 접근을 차단합니다. 사용자 설정 키보드 개발자는 확장 프로그램이 오픈 액세스 권한을 가지도록 요청할 수 있으며, 사용자가 동의하는 경우 시스템이 확장 프로그램을 기본 샌드박스에서 실행할 수 있습니다.
MDM 및 확장 프로그램
MDM(모바일 기기 관리) 솔루션에 등록된 기기, 문서 및 키보드 확장 프로그램은 Managed Open In 규칙을 따릅니다. 예를 들어 MDM 솔루션은 사용자가 관리형 앱에서 관리되지 않는 문서 제공자에게 문서를 보내는 것을 막을 수 있습니다. 또는 사용자가 관리되지 않은 키보드를 앱에서 사용하는 것을 막을 수 있습니다. 추가적으로 앱 개발자는 타사 키보드 확장 프로그램이 자신의 앱에서 사용되는 것을 막을 수 있습니다.