개념
뒤로가기 버튼 — 가장 흔히 놓치는 차이
Android는 물리적(또는 화면 하단) 뒤로가기 버튼이 시스템 차원에서 존재한다. iOS에는 이런 전역 뒤로가기 버튼이 없고, 각 화면 안에서 앱이 자체적으로 뒤로가기 동작(왼쪽 상단 버튼, 스와이프 제스처)을 구현해야 한다.
Android: 시스템 뒤로가기 버튼을 누르면 어떻게 되는가?
→ 이전 화면으로? 앱이 종료되는가? 모달만 닫히는가?
iOS: 왼쪽 상단 버튼이나 오른쪽 스와이프로 뒤로 가는가?
→ 이 동작이 일관되게 모든 화면에 구현되어 있는가?Android에서 뒤로가기 버튼을 눌렀을 때 앱이 아무 반응 없이 멈춰 있거나, 예상과 다른 화면으로 튀는 것은 매우 흔한 결함 유형이다.
권한 모델(Permission Model)의 차이
카메라, 위치, 알림 같은 민감한 기능에 접근할 때 권한을 요청하는 방식이 플랫폼마다 다르다.
Android: 앱 설치 시 또는 기능 사용 시점에 권한 요청, 세분화된 권한 관리 화면
iOS: 기능을 실제로 쓰는 순간 권한 요청, 한 번 거부하면 설정 앱에서만 재변경 가능권한을 거부했을 때 앱이 어떻게 동작하는지는 반드시 확인해야 할 지점이다 — "카메라 권한을 거부했더니 앱이 그대로 멈춰버린다"는 결함은 실무에서 흔하다.
네비게이션과 제스처 관습
Android: 하단 탭 바, 플로팅 액션 버튼(FAB) 같은 머티리얼 디자인 관습
iOS: 하단 탭 바, 스와이프로 뒤로가기 같은 iOS 고유의 제스처 관습각 플랫폼에는 사용자들이 이미 익숙해진 표준 UX 패턴이 있다. 플랫폼 관습을 어기는 디자인은 기능적으로는 "동작"하지만, 그 플랫폼 사용자에게는 어색하거나 혼란스럽게 느껴질 수 있다 — 이건 모듈 5(레슨 3)에서 배운 "사용성" 관점과 연결된다.
알림(Notification) 처리 차이
Android: 알림이 상태 표시줄에 계속 쌓이고, 그룹화·채널별 관리가 세밀함
iOS: 알림 센터에 모이고, 권한을 한 번 거부하면 재요청이 훨씬 제한적푸시 알림을 탭했을 때 앱의 정확히 어느 화면으로 이동하는지(딥링크 처리)는 두 플랫폼 모두에서 중요한 검증 포인트지만, 구현 방식이 서로 다르다.
화면 크기와 노치·홈 인디케이터
iOS의 노치(또는 다이나믹 아일랜드)나 Android의 다양한 화면 비율은, 모듈 13(레슨 8)에서 배운 크로스 디바이스 전략처럼 레이아웃이 일부 기기에서만 깨지는 문제를 만들 수 있다. 화면 최상단·최하단에 중요한 버튼이 배치되어 있다면, 특히 주의 깊게 확인해야 한다.
"이게 버그인지 플랫폼 관습인지" 판단하기
두 플랫폼을 오가며 테스트하다 보면, "Android에서는 이런데 iOS에서는 다르다"는 차이를 발견하게 된다. 이때 중요한 질문은 **"이 차이가 각 플랫폼의 정상적인 관습을 따른 것인가, 아니면 실제로 한쪽에만 있는 결함인가"**를 구분하는 것이다 — 무조건 동일하게 만드는 것이 항상 옳은 방향은 아니다.
실무에서 왜 필요한가
"Android 버전만 뒤로가기 버튼을 눌렀을 때 앱이 꺼진다"는 리포트를 받았을 때, 이게 Android 고유의 시스템 버튼 처리 미비인지 이해하지 못하면 원인 파악이 늦어진다. 플랫폼별 관습을 아는 QA는 각 플랫폼에서 어떤 것이 "정상"이고 어떤 것이 "결함"인지 훨씬 빠르게 판단할 수 있다.