iOS/UIUX

[HIG] App Architecture: Requesting Permission, 권한 요청

batterflyyin 2021. 2. 10. 19:32

앱이 사용자의 개인적인 정보에 접근하려면 사용자가 권한을 반드시 부여해야 한다.

개인적인 정보에는 현재 위치, 달력(Calendar), 연락처(contact information), 리마인더, 사진 등이 있다.

사용자는 이러한 민감한 정보에 접근하는 앱들이 편의성을 제공한다는 것을 인식하고 있지만, 사용자는 개인적인 정보를 제어하길 원한다.

예를 들어, 사용자는 근처의 친구를 찾거나 사진 태그에 실제 장소를 자동으로 달아주길 기대하면서도 이러한 기능들을 정지할 수 있는 옵션을 원한다.

날씨 앱에서 위치 접근 권한 요청

언제 어떻게 사용자에게 개인 정보를 요구해야할까?

1. 앱이 반드시 필요로 할 때만 개인 정보를 요구하는 것이 좋다.

  • 앱이 분명히 필요하지 않은 상황에서도 개인정보 접근을 요청한다면 의심을 받기 쉽다.
  • 예를 들어, 날씨 앱은 현재 위치에 기반하여 날씨를 알려주는 것이 당연하므로 사용자의 현재 위치에 대한 권한을 요구할 수 있다.

Nike+ Run Club 앱의 권한 요청

2. 앱이 왜 사용자 개인 정보가 필요한지를 명확히 설명하라.

  • 앱이 권한을 요구하는 이유를 직접 작성하여 요구하는 것이 바람직하다.
  • 여기에 앱 이름은 넣을 필요는 없다. 사용자가 압박을 느끼지 않도록 하며 겸손하고 명확하게 작성하라.
  • 개발자를 위한 문서는 Protecting the User's Privacy.를 참고하자.

3. 앱이 시작할 때 권한을 요구하라.

  • 사용자가 앱이 개인정보를 사용해야 한다는 것이 당연할 때는 요청 메시지 조차 귀찮을 수 있다.

3. 불필요하게 위치 정보를 요청하지 마라

  • 위치 정보에 접그하기 전에 시스템의 위치 서비스(Location Service)가 활성화되어 있는지를 먼저 확인하라.
  • 기능이 정말로 필요로 하기 전까지 알람을 연기할 수 있다. 또는, 알람을 피할 수도 있다.
  • 위치 기능을 구현하려면 MapKitLocation and Maps Programming Guide를 참고하자.

4. 시스템-제공 알람을 사용하라.

  • 앱은 표준 권한 알람에 텍스트를 커스터마이징 할 수 있다.
  • 하지만, 표준 알람의 행동이나 디자인을 복제한 커스텀 프롬프트(prompt)를 추가하지 마라.