[iOS9] 3D Touch 시작하기

아이폰 2015. 10. 16. 01:26

애플개발자 라이브러리 Getting Started With 3D Touch를 번역한 글입니다.


iOS 9부터 새 아이폰 모델들의 유저인터페이스에 3차원 개념이 도입되었습니다.

  • 사용자는 앱 기능에 즉시 접근하기 위해 홈스크린 아이콘을 press 할수 있습니다.
  • 앱 안에서는, 컨텐츠를 미리보기하거나 특정 기능에 대한 빠르게 접근하기 위해 뷰를 press 할수 있습니다.


샘플코드를 참고하려면, 다음 Xcode 프로젝트를 다운로드 하세요.


홈스크린 퀵액션

사용자는 앱을 시작하기 위해 아이콘을 탭할 수 있고, 홈스크린을 편집하기 위해 앱아이콘을 터치 앤 홀드할수 있습니다. iPhone 6s, iPhone 6s Plus 에서는 앱 아이콘을 pressing 해서 퀵액션 집합을 볼수 있습니다. 사용자가 퀵액션을 선택하면 앱은 활성화되어 실행되고 app delegate는 퀵액션 메시지를 수신합니다.

가장 좋은 퀵액션은 사용자와 앱과의 인터랙션을 예측가능하게 합니다. iOS 9 SDK는 새 아이폰 모델에서 사용가능한 정적,동적 퀵액션을 정의하는 API들을 제공합니다.

두 타입의 퀵액션 모두 최대 두줄의 텍스트 라인과 옵셔널 아이콘을 노출합니다.


Peek 과 Pop

다양한 강도의 사용자 press 에 반응하도록 뷰컨트롤러들을 활성화할수 있습니다. 사용자가 더 깊이 press 할수록 3단계의 인터렉션이 처리됩니다.

  • 1단계: 컨텐츠 preview 사용가능이 표시됨
  • 2단계: 직접 수행할수 있는 옵션들(peek quick action)과 함께 preview가 보여짐(peek)
  • 3단계: preview 에서 보여졌던 뷰로 네비게이션됨(pop)

peek과 pop를 적용하면 시스템이 다음단계 전환에 대한 압력의 강도를 결정합니다. 사용자는 Settings > Accessibility > 3D Touch 에서 전환에 대해 조정할수 있습니다.


Peek 가용유무 표시
  • 가볍게 누르면, 주변 컨텐츠가 블러처리 되면서 추가컨텐츠 미리보기 가능함이 표시됩니다.



Peek
  • 좀더 깊게 누르면, preview 로 전환됩니다. preview는 일반적으로 더 많은 컨텐츠를 보여주도록 구성됩니다.(그림은 메일앱)
  • 사용자가 이 시점에 터치를 멈추면 peek 은 사라지고, 앱은 이전 상태로 되돌아갑니다.
  • 대신 좀더 깊게 누르면, 시스템이 제공하는 pop 전환을 사용하여 preview가 네비게이션되고, pop 뷰는 앱 루트뷰를 채우고 네비게이션 백버튼이 노출됩니다. (마지막 단계의 pop view 사진은 표시하지 않았음)


Peek quick actions
  • 터치를 멈추지 않고 preview 위쪽으로 스와이프하면, 시스템은 preview 와 연관있는 peek 퀵액션을 노출합니다.
  • 각 peek 퀵액션은 앱에 대한 딥링크입니다.
  • 일단 peek 퀵액션이 화면에 노출되면, 사용자가 터치를 멈추어도 preview 는 퀵액션을 탭 할때까지 화면에 남아있습니다.


웹뷰 내의 링크들에 대한 peek과 pop도 활성화 할수 있습니다. Web View Peek and Pop 를 참고하세요.


Force Properties

  • iOS 9 부터 UITouch 클래스는 3D Touch 커스텀 구현을 지원하기 위한 2개의 새로운 속성인 forcemaximumPossibleForce 를 갖습니다.
  • iOS 디바이스에 최초로, 이 속성들은 앱이 수신하는 UIEvent 객체안에서 터치압력을 탐지하고 반응할수 있게해줍니다.
  • 터치의 force는 매우 동적인 범위를 갖으며 부동소수로 표현됩니다.


접근성과 3D Touch 휴먼인터페이스 가이드라인

  • 모든 사용자가 앱의 피처에 접근할수 있도록 보장하기 위해서, 3D Touch 가용유무에 따라 코드를 브랜치하세요.
  • Checking for 3D Touch Availability 를 참고하세요.

3D Touch 는 3D Touch 디바이스들, 그리고 활성화 되었을 때에만 사용가능합니다. iOS 9 에서 3D 터치는 기본으로 활성화되어 있으며 Setting > Accessibility > 3D Touch 메뉴에서 비활성화 할수 있습니다.

  • 3D Touch 가 사용가능하면, 기능의 장점을 활용하세요. 사용가능하지 않다면, touch and hold 와 같은 대안을 제공하세요.
  • 3D Touch 기능은 VoiceOver를 지원합니다. VoiceOver 를 배우려면, Accessibility Programming Guide for iOS 를 참고하세요.
  • 3D Touch 와 함께 사용가능한 새로운 기능에 대한 가이드는 iOS Human Interface Guidelines 문서의 3D Touch 를 참고하세요.


개발환경

  • Xcode7 은 3D Touch 개발을 지원합니다. Xcode의 모든 디버깅 기능은 새 기능을 구현하는데 사용할 수 있습니다.
  • Xcode7과 함께 3D Touch 를 지원하는 디바이스 상에서 개발해야합니다. 시뮬레이터는 3D Touch를 지원하지 않습니다.
  • 코드로 peek 과 pop 뷰컨트롤러들을 구현해야합니다. 인터페이스 빌더는 3D Touch 전환과 뷰컨트롤러들 설정에 대한 그래피컬한 지원을 하지 않습니다.

  • 모든 기능을 모든 사용자들이 사용할수 있도록 3D Touch 활성화상태와 비활성상태 모두 테스트 해야합니다.

  • 3D Touch 디바이스의 Settings > General > Accessibility > 3D Touch 메뉴에서 비활성화 할수 있습니다.