[iOS] 익스텐션 (Extension)

아이폰 2015. 8. 18. 21:12

1. iOS 익스텐션 개요

  • 익스텐션은 애플리케이션의 특정기능을 다른 애플리케이션에서 사용될 수 있게 하기 위해 설계된 iOS8의 한 부분.
  • 익스텐션의 목적은 특정 기능을 다른 애플리케이션에서 접근할 수 있도록 하는 것.


2. 익스텐션 타입

  • iOS는 익스텐션 포인트(extension point)로 지시되는 익스텐션 타입을 제공.
  • 익스텐션 포인트는 익스텐션이 구현될 수 있도록 공개한 iOS 운영체제의 영역.


1. 투데이 익스텐션(Today Extension)

  • iOS 알림센터의 Today 화면에서 사용할 수 있는 익스텐션.
  • 디폴트로 캘린더 정보와 우세한 주식가격 정보를 표시.
  • 사용자에게 정보를 표시하는 위젯형태를 취함.



2. 쉐어 익스텐션(Share Extension)

  • 소셜 네트워크 사이트 또는 컨텐츠 공유 서비스의 호스트앱에서 이미지, 비디오, 텍스트, 웹사이트 등의 컨텐츠를 공유하기 위한 빠른 접근 매커니즘 제공.
  • 쉐어 익스텐션은 사용자가 호스트앱에서 공유버튼을 눌렀을 때 표시되는 액티비티 뷰 컨트롤러 패널에 표시됨.
  • 컨텐츠 포스팅을 위한 인터페이스 구현을 위해 SLComposeServiceViewController클래스 이용.
  • SLComposeServiceViewController는 UI 커스터마이징이 가능하며, 포스팅하기 전에 수정할수 있는 기능을 제공.



3. 액션 익스텐션(Action Extension)

  • 호스트 앱 내의 컨텐츠가 다른 식으로 변형되거나 보여지도록 만듬.
  • 쉐어 익스텐션처럼 공유버튼을 통해 액티비티 뷰 컨트롤러로 접근.
  • 호스트앱의 콘텐츠 타입을 지원하는 액션 익스텐션만 옵션으로 표시됨.



4. 포토 에디팅(Photo Editing Extension)

  • 애플리케이션의 사진 편집 기능을 내장된 iOS 사진 앱 내에서 접근할 수 있도록 해줌.
  • 사진앱에서 이미지 선택후 편집 옵션을 선택한 다음 ... 버튼을 탭할 때 표시됨.



5. 도큐먼트 익스텐션(Document Extension)

  • 다른 애플리케이션이 디바이스에서 실행되는 동안 (익스텐션을) 포함하는 앱이 문서 저장소처럼 동작하도록 함.
  • Document Picker ViewController 익스텐션과 File Provider 익스텐션으로 구성됨.
  • Document Picker ViewController 익스텐션은 문서들을 검색하거나 선택할 수 있는 사용자 인터페이스를 제공함.
  • File Provider 익스텐션은 호스트앱이 앱의 샌드박스 외부에 있는 문서에 접근할 수 있도록 해줌.
  • 포함하는 앱에서 저장된 문서를 이동하거나 여는 작업을 지원해야 한다면 파일 프로파이더 익스텐션이 필요함.



6. 커스텀 키보드 익스텐션(Custom Keyboard Extension)

  • iOS 디바이스에 커스텀 키보드를 생성하고 설치할 수 있도록 함.
  • 디바이스의 모든 애플리케이션에서 사용될수 있음.
  • 설정앱의 키보드 설정에서 선택할수 있음.