AgentSkillsCN

Apple Hig Guide

苹果高阶指南

SKILL.md

Apple Human Interface Guidelines — AI Design Skill

Apple HIG를 기반으로 한 UI/UX 디자인 지시서. AI 에이전트가 Apple 생태계에 부합하는 인터페이스를 설계·구현할 때 참조한다.


Part 1. 철학과 원칙

1.1 세 가지 핵심 원칙 (Core Principles)

Clarity (명료성)

  • 인터페이스의 모든 요소는 즉시 이해할 수 있어야 한다
  • 텍스트는 모든 크기에서 읽기 쉬워야 하고, 아이콘은 정밀하고 명확해야 한다
  • 장식적 요소를 최소화하고, 기능이 디자인을 주도한다
  • 모호함을 제거하는 것이 최우선이다

Deference (콘텐츠 존중)

  • UI는 콘텐츠를 돕되, 콘텐츠와 경쟁하지 않는다
  • 사용자가 관심을 두는 것(콘텐츠, 작업)이 항상 주인공이어야 한다
  • 컨트롤과 장식은 콘텐츠를 지원하는 보조 역할에 머문다
  • Apple Photos 앱처럼 UI 요소를 최소화하고 사진 자체가 전면에 나와야 한다

Depth (깊이감)

  • 시각적 레이어와 사실적인 모션으로 계층 구조와 공간적 관계를 전달한다
  • 반투명(translucency)은 표면 아래의 콘텐츠를 암시한다
  • 패럴렉스와 스케일링은 활력감과 입체감을 만든다
  • 사용자가 앱 구조 안에서 자신의 위치를 이해하고 자신 있게 탐색할 수 있도록 돕는다

1.2 네 가지 디자인 기초 (Design Foundations)

기초설명
Structure앱을 구조화하여 사용자가 즉시 정체성과 배치를 이해하게 한다. 명확한 정보 아키텍처로 발견과 탐색을 지원한다
Navigation일관되고 명확한 이동 경로를 제공하여 사용자가 자신감을 가지고 앱을 탐색할 수 있게 한다
Content정보를 파악하기 쉽게 조직하고, 자연스럽게 올바른 행동으로 이끈다
Visual Design정렬, 계층, 대비를 통해 앱의 개성과 사용성을 형성한다

1.3 사용자 경험 3대 질문

Apple은 모든 화면에서 사용자가 아래 세 가지에 즉시 답할 수 있어야 한다고 강조한다:

  1. 나는 어디에 있는가? (Where am I?)
  2. 무엇을 할 수 있는가? (What can I do here?)
  3. 어디로 갈 수 있는가? (Where can I go from here?)

1.4 일관성과 친숙함 (Consistency & Familiarity)

  • 사용자는 Apple 내장 앱(Mail, Messages, Safari 등)에서 매일 수 시간을 보낸다
  • 표준 컨트롤이 기대대로 동작하면, 사용자는 앱의 고유한 가치에 집중할 수 있다
  • 일관성은 용어, 시각적 스타일, 제스처 상호작용 전체에 걸쳐 유지해야 한다
  • 커스텀 컨트롤로 시각적 차별화를 얻을 수 있지만, 플랫폼 규칙과의 일관성이 주는 인지적 이점이 대부분 더 크다

Part 2. 구체적인 세부 지시사항

2.1 타이포그래피 (Typography)

시스템 폰트

  • 기본 폰트: SF Pro (sans-serif). iOS, iPadOS, macOS의 시스템 폰트
  • 보조 serif 폰트: New York. SF Pro와 함께 사용 가능
  • 모노스페이스: SF Mono. 코드 표시용
  • 9가지 웨이트: Ultralight → Black. Condensed/Expanded 폭도 지원

Optical Size 규칙

  • SF Pro Text: 19pt 이하 텍스트에 사용 (넓은 자간, 소형 가독성 최적화)
  • SF Pro Display: 20pt 이상 텍스트에 사용
  • 코드에서는 자동 적용되지만, 디자인 목업에서는 수동 구분 필요

iOS 텍스트 스타일 (Text Styles)

Style기본 크기용도
Large Title34pt화면 최상단 큰 제목 (스크롤 시 17pt로 축소)
Title 128pt주요 섹션 제목
Title 222pt부 섹션 제목
Title 320pt소제목
Headline17pt Semi-Bold강조된 본문급 텍스트
Body17pt기본 본문 텍스트
Callout16pt설명 텍스트
Subhead15pt보조 텍스트
Footnote13pt각주, 보조 정보
Caption 112pt캡션
Caption 211pt최소 크기 캡션 (최소 가독 한계)

타이포그래피 원칙

  • 가능한 한 내장 텍스트 스타일을 사용한다 (Dynamic Type 자동 지원)
  • 커스텀 폰트 사용 시에도 Dynamic Type과 접근성 기능(Bold Text 등)을 반드시 지원한다
  • 폰트 웨이트와 크기로 계층을 표현한다 — 무게(weight) 대비가 크기 대비보다 효과적일 수 있다
  • 서체 종류는 제한한다 — 너무 많으면 계층이 무너지고 비전문적으로 보인다
  • 최소 폰트 크기: 11pt (그 이하는 대부분의 사용자가 읽기 어려움)

2.2 컬러 (Color)

시맨틱 컬러 시스템

  • 하드코딩된 색상값 대신 시맨틱 컬러를 사용한다
  • 시맨틱 컬러는 Light/Dark 모드 전환에 자동 대응한다
시맨틱 컬러용도
systemBlue인터랙티브 요소, 링크, Primary 액션
systemRed삭제, 경고, 파괴적 액션
systemGreen성공, 완료 상태
systemOrange주의, 경고
systemGray비활성 요소, 중립 표면
label기본 텍스트
secondaryLabel보조 텍스트
tertiaryLabel3차 텍스트
systemBackground기본 배경
secondarySystemBackground그룹화된 영역 배경

컬러 원칙

  • 같은 색상을 서로 다른 의미로 사용하지 않는다 (예: 파란색을 "저장"과 "삭제" 모두에 쓰지 않는다)
  • 색상만으로 정보를 전달하지 않는다 — 아이콘, 패턴, 텍스트 라벨로 보완한다 (색맹 사용자 고려)
  • 개인 취향이 아닌 의미와 기능에 기반해 색상을 선택한다
  • Light/Dark 모드 모두에서 명확하게 보이는지 테스트한다
  • 적응형 컬러(Adaptive Colors)를 사용하여 환경 변화에 자동 대응한다

대비 (Contrast)

  • 일반 텍스트: 최소 4.5:1 대비 비율 (WCAG AA 기준)
  • 큰 텍스트 (18pt regular / 14pt bold 이상): 최소 3:1
  • 고대비 색상 조합을 기본으로 사용한다 (검은 텍스트 + 흰 배경, 또는 그 반대)

2.3 레이아웃과 간격 (Layout & Spacing)

기본 규칙

  • 8pt 그리드 시스템을 따른다 — 모든 간격과 크기는 8의 배수가 기본이다 (4pt는 세밀한 조정 시 허용)
  • Safe Area를 존중한다 — 노치, Dynamic Island, 홈 인디케이터 영역을 침범하지 않는다
  • Auto Layout과 제약 조건을 사용하여 화면 크기·방향 변화에 적응한다

여백 (Margins)

  • 기본 좌우 여백: 16pt (iPhone), 20pt (iPhone Plus/Max)
  • 요소 간 최소 간격: 8pt
  • 컨텐츠 카드 모서리 반경: 큰 카드 20pt, 작은 요소 10pt

터치 타겟

  • 모든 터치 가능한 요소: 최소 36×36dp
  • 이보다 작으면 사용자가 잘못 터치하거나 놓칠 수 있다
  • 시각적 크기가 작더라도 터치 영역은 36dp 이상으로 확보한다

화면 디자인 우선순위

  • 작은 화면(375pt 폭)부터 설계하고, 큰 화면으로 확장한다
  • 핵심 행동 유도(CTA)는 화면 상단 50% 영역에 배치한다
  • "모바일 디자인의 90%는 리스트 디자인이다" — 리스트 항목 설계에 세심한 주의를 기울인다

2.4 내비게이션 (Navigation)

3대 네비게이션 패턴

패턴설명
Tab Bar (플랫)화면 하단에 위치. 앱의 최상위 섹션을 2~5개 탭으로 구분. 항상 표시 (모달 제외). 각 탭은 상태를 기억한다
Hierarchical (계층적)Navigation Bar + Back 버튼. 오른쪽으로 이동하면 깊어지고, 왼쪽으로 돌아오면 상위로 복귀. 왼쪽 가장자리 스와이프 = Back 버튼
Modal (모달)특정 작업에 집중하기 위한 오버레이. 시트, 알림, 팝오버 등. 완료/취소로 닫는다

내비게이션 원칙

  • Tab Bar 항목은 시트를 띄우거나 액션을 트리거하면 안 된다 — 순수 내비게이션 용도로만 사용
  • Tab Bar는 모달이 열린 경우를 제외하고 항상 화면에 표시한다
  • 햄버거 메뉴(☰)를 사용하지 않는다 — 발견성이 현저히 떨어진다. Tab Bar가 훨씬 효과적
  • Push 트랜지션은 계층 이동에, Modal은 독립적 작업에 사용한다
  • Back 버튼에 공간이 허용되면 "Back" 대신 부모 화면의 제목을 레이블로 표시한다
  • Cancel 버튼은 절대로 데이터를 직접 삭제하면 안 된다 — 반드시 확인 다이얼로그를 추가한다

2.5 컴포넌트 (Components)

버튼

  • 상태 구분: default, highlighted, selected, disabled — 각 상태를 시각적으로 명확히 전달한다
  • Primary 액션은 가장 크고 두드러진 버튼으로 표현한다
  • 파괴적 액션(삭제 등)은 반드시 systemRed로 표현한다

리스트 (Table View)

  • 기본 텍스트: 17pt regular
  • 보조 텍스트: 15pt 또는 12pt regular (강조도에 따라)
  • 왼쪽: 선택적 아이콘/이미지
  • 오른쪽: 우향 셰브론(>)은 다른 화면으로의 이동을 의미
  • 리스트 항목 설계 시 3가지를 결정한다: (1) 어떤 텍스트를 표시할 것인가 (2) 왼쪽에 무엇을 넣을 것인가 (3) 오른쪽에 무엇을 넣을 것인가

검색 (Search)

  • 검색바를 쉽게 발견할 수 있어야 한다
  • 인기/최근 검색어를 옵션으로 표시한다
  • 입력 즉시 결과가 나타나야 한다 (실시간 검색)

모달 시트

  • 완료할 특정 작업이 있을 때만 사용한다
  • 고마찰 모달: 사용자가 결정을 내려야 닫힌다 (Done/Cancel)
  • 저마찰 모달: 앱을 차단하되 "이것 아니면 저것" 결정을 강요하지 않는다

2.6 애니메이션과 모션 (Animation & Motion)

원칙

  • 모션은 의도적으로 사용한다 — 경험을 향상시키되, 그 자체가 목적이 되면 안 된다
  • 불필요하거나 과도한 애니메이션은 사용자를 산만하게 하고 불편하게 한다
  • 모션은 선택적이어야 한다 — 중요한 정보를 모션만으로 전달하지 않는다
  • 시각적 피드백을 햅틱, 오디오 큐로 보완한다

트랜지션

  • Push 트랜지션: 수평 이동으로 계층 이동을 암시한다 (오른쪽 = 더 깊게, 왼쪽 = 복귀)
  • 상태 전환은 부드럽게 애니메이션된다 — iOS 특유의 디테일
  • 인터랙티브한 제스처 기반 트랜지션을 지원한다 (취소 가능한 전환)

Apple 표준 이징 커브

  • 기본 이징: cubic-bezier(0.25, 0.1, 0.25, 1.0) — 자연스러운 감속
  • 스프링 애니메이션: 활력감 있는 바운스 효과에 사용
  • 지속 시간: 대부분 0.2~0.5초. 복잡한 전환도 1초를 넘지 않는다

Reduce Motion 대응

  • Reduce Motion 설정이 켜져 있으면 패럴렉스 효과를 최소화하고, 슬라이딩 트랜지션을 크로스페이드로 대체하며, 자동 재생 애니메이션을 중단한다

2.7 접근성 (Accessibility)

필수 요구사항

  • Dynamic Type 지원: 사용자가 선호하는 텍스트 크기를 존중한다. 시스템 폰트는 자동 대응하며, 커스텀 폰트도 동일하게 구현해야 한다
  • VoiceOver 지원: 모든 인터랙티브 요소에 명확한 접근성 라벨(label)과 특성(trait)을 부여한다
  • Bold Text 설정 존중: 시스템 폰트는 자동 대응. 커스텀 폰트도 동일하게 구현한다
  • Reduce Motion 설정 존중 (위 2.6 참조)
  • 색맹 사용자 고려: 색상만으로 의미를 전달하지 않는다. 남성의 약 8%, 여성의 약 0.5%가 색각 이상

대비와 가독성

  • 최소 본문 크기: 17pt 권장, 캡션 등에서도 11pt 이하는 피한다
  • 헤드라인 최소: 34pt
  • 텍스트 대비: 4.5:1 이상
  • Apple의 Accessibility Inspector 등으로 테스트한다

2.8 다크 모드 (Dark Mode)

  • 모든 UI를 Light와 Dark 양쪽 모드에서 테스트한다
  • 시맨틱 컬러를 사용하면 자동으로 모드 전환이 처리된다
  • 다크 모드에서는 elevated surface에 약간 밝은 배경을 사용하여 깊이감을 표현한다
  • 순수 검정(#000000)보다 약간 밝은 다크 배경이 눈의 피로를 줄인다
  • 이미지와 아이콘도 양 모드에서 명확하게 보이는지 확인한다

2.9 아이콘 (Icons & SF Symbols)

  • SF Symbols 라이브러리를 우선 사용한다 — 수천 개의 스타일 일관된 아이콘 제공
  • SF Symbols는 SF Pro 폰트와 웨이트가 매칭되어 텍스트와 원활히 정렬된다
  • 9가지 웨이트 × 3가지 스케일 (small, medium, large)
  • 앱 아이콘은 모든 크기에서 즉시 인식 가능해야 한다 — 알림 배지부터 홈 스크린까지
  • 커스텀 아이콘 제작 시에도 SF Symbols의 스타일 가이드를 따른다

2.10 피드백과 상태 표시 (Feedback & Status)

  • 사용자에게 항상 무슨 일이 일어나고 있는지 알려준다
  • 잘못된 입력 → 즉각적인 오류 메시지
  • 진행 중인 작업 → 프로그레스 바 또는 스피너
  • 완료/실패 → 명확한 결과 알림
  • 햅틱 피드백으로 물리적 확인감을 제공한다 — 명확성과 일관성을 유지
  • 로딩 상태에서는 플레이스홀더와 애니메이션으로 사용자의 관심을 유지한다

2.11 이미지와 에셋 (Images & Assets)

  • 최고 품질 소스 이미지를 사용하고, 업스케일하지 않는다 (다운스케일만)
  • Retina 대응: 1x, 2x, 3x 에셋을 준비한다
  • 아이콘은 PNG 또는 PDF 벡터를 사용한다
  • 사진/일러스트레이션은 JPEG 또는 HEIF를 적절한 압축으로 사용한다
  • 마스킹과 일관된 모서리 반경을 사용하여 시각적 계층을 만든다

2.12 국제화 (Internationalization)

  • RTL(Right-to-Left) 레이아웃 방향을 지원한다
  • 날짜, 시간, 숫자 형식을 지역에 맞게 자동 적용한다
  • 색상의 문화적 의미를 고려한다 (예: 빨간색은 서양에서 경고, 중국에서 행운)
  • 텍스트 길이 변화를 고려한 레이아웃 설계 — 번역 시 텍스트가 길어질 수 있다

부록: 빠른 체크리스트

디자인 시작 전

  • 대상 플랫폼과 디바이스 크기 확인
  • Light/Dark 모드 양쪽 계획
  • 정보 아키텍처와 네비게이션 구조 수립

시각 디자인

  • SF Pro 또는 시스템 폰트 기반 타이포그래피 계층 설정
  • 시맨틱 컬러 사용, 하드코딩 색상 최소화
  • 8pt 그리드 시스템 준수
  • 36×36dp 터치 타겟 확보
  • 4.5:1 이상 텍스트 대비 비율

인터랙션

  • Tab Bar는 하단, 2~5개 항목
  • Push 트랜지션으로 계층 이동, 모달로 독립 작업
  • Back 제스처(좌측 엣지 스와이프) 지원
  • 파괴적 액션에 확인 다이얼로그

접근성

  • Dynamic Type 지원
  • VoiceOver 라벨 및 특성 설정
  • Reduce Motion 대응
  • 색상 외 대안적 정보 전달 수단 확보
  • Bold Text 설정 존중

에셋

  • 1x, 2x, 3x Retina 에셋
  • SF Symbols 활용
  • 앱 아이콘 모든 크기 대응

출처: Apple Human Interface Guidelines (developer.apple.com/design/human-interface-guidelines), WWDC 세션 자료, 및 관련 디자인 리소스 종합 정리. 최종 구현 시에는 반드시 공식 HIG를 참조할 것.