feat(help): example screenshots in help topics (ko/en/ja)
- 도움말이 글만 있어 처음 사용자가 이해하기 어렵다는 피드백 → 그룹당 대표 주제 1개에 예시 스크린샷 추가 (모음 탭·목표 진행률·기록 타임테이블·글래스 버블 메뉴·워치 첫 화면·iPad 일기 요약, 총 6종) - 스크린샷에 UI 문구가 박혀 있어 언어별 파일로 관리 — 시뮬 로케일별 재시드로 ko/en/ja 각각 촬영(18장, 축소·JPEG 압축 총 ≈1.6MB), IOS/HelpImages/에 배치. HelpImage 로더가 표시 언어에 맞는 변형 선택(jpg는 UIImage(named:) 확장자 생략 탐색에 안 걸려 URL 로드) - 워치 이미지는 시뮬 페어링 특유의 빨간 연결 끊김 아이콘을 상태바 크롭으로 제거 — '측정 중 행 탭 종료' 신기능이 이미지에 그대로 담김 - 검증 인자 신설: -helpExpandAll(전 주제 펼침), -helpScrollTo <앵커>(이미지 주제로 스크롤) — ko/en 아이폰·ko 아이패드 도움말 화면 렌더 스크린샷 확인 - 이미지는 accessibilityHidden(본문 낭독과 중복 방지). 새 문자열 없음(카탈로그 무변화). CLAUDE.md §6.8·§14 갱신. Debug/Store 빌드 성공 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014CkLDi8Lr21vGqo4SjZaTp
@ -225,7 +225,7 @@ xcrun xcstringstool sync Widgets/Localizable.xcstrings --stringsdata "${widget_f
|
||||
- iPhone만: 내비게이션 방식(탭바/버블) + 탭바 구성 or 버블 순서·두 번 눌러 바로 이동(토글+대상 탭)
|
||||
- 모음 탭 목표 카드 선택(개수 무제한)+표시 방식 / 주 시작 요일 / 하루 시작 시간 / 짧은 기록 무시 / **장시간 측정 알림**(1~12시간, 켜는 순간 알림 권한 요청 — `SessionAlertManager`가 LiveActivityManager.sync 길목에서 진행 세션과 예약을 동기화, 세션 종료·설정 변경 시 예약 제거) / 대표 시간 기준(가장 먼저·나중에 시작 — 기본 latest)
|
||||
- 데이터: **데이터 내보내기** — 행동·시간·횟수·목표·다짐을 CSV 5파일로 (ISO 8601, UTF-8 BOM, 무료 포함)
|
||||
- 프리미엄 화면(§8) / 도움말(`HelpView` — 기기별 주제 분기, DisclosureGroup) / 버전(번들 CFBundleShortVersionString 표시)
|
||||
- 프리미엄 화면(§8) / 도움말(`HelpView` — 기기별 주제 분기, DisclosureGroup. **그룹당 대표 주제 1개에 예시 스크린샷**(IOS/HelpImages/help-<이름>-<ko|en|ja>.jpg, 총 18장 ≈1.6MB) — 언어별 파일을 HelpImage 로더가 표시 언어로 선택(jpg라 UIImage(named:) 대신 URL 로드). 앱 화면·문구가 크게 바뀌면 해당 스크린샷도 재촬영할 것: 시뮬 로케일별 재시드 후 §14 인자로 촬영, 워치는 상태바 크롭) / 버전(번들 CFBundleShortVersionString 표시)
|
||||
|
||||
---
|
||||
|
||||
@ -332,7 +332,7 @@ xcrun xcstringstool sync Widgets/Localizable.xcstrings --stringsdata "${widget_f
|
||||
| 측정 알림 | `-settings.longSessionAlertHours <N>`(설정 주입) `-longSessionAlertTestSeconds <N>`(시간 대신 N초 발화, provisional 권한 자동) `-alertDump`(예약 상태 → Documents/session-alerts.txt) |
|
||||
| 목표 | `-goalShowEditor` `-goalShowFinished` `-goalReorder` `-goalScrollBottom` `-questShowEditor`(다짐 편집기 표시 — 마감 시각 다짐 우선, 없으면 첫 다짐) `-endGoalYesterday "제목"`(종료일을 어제로 — 실행 시점 자동 판정 검증) `-watchGoals <N>`(생성순 목표 N개를 '애플워치에서 보기'로 설정, 0=전체 해제 — 설정 후 스냅숏 즉시 푸시, 컴플리케이션 필터 검증용) `-streakDump`(모든 다짐의 연속 계산 결과 → Documents/streak-dump.txt) `-progressSelfTest`(spanProgress 수치 37건 자가 검증[환산 캡·수행일 집계·마감·atMost·custom] → Documents/progress-self-test.txt — 인메모리 컨테이너·설정 고정이라 실데이터/기기 설정 무영향) |
|
||||
| 기록/통계 | `-historyMode timetable` `-historyWeekly` `-excludeActions "이름,이름"` `-historyShowFilter` `-statShowFilter` `-statSpan <day|week|month>` `-statScrollBottom` `-showExport` `-exportDump`(Documents/export-dump.png) `-recordShowEditor <session|count>`(최신 기록 수정 시트) |
|
||||
| 설정/기타 | `-settingsScrollGoal` `-settingsScrollPremium` `-premiumPreview` `-helpPreview` `-dataExportPreview`(+`-dataExportRun`이면 CSV 자동 생성 후 Documents 복사) `-widgetPreview YES|lock` `-widgetPreviewScroll <앵커>` `-widgetRenderMode accented|vibrant`(틴트/투명 홈 렌더링 분기 검증) `cloudSync`(standard bool로 강제) `-intentSmokeTest`(시리 인텐트 10개 시나리오 실행 → Documents/intent-smoke-test.txt, -seedDemo·-premium과 함께) |
|
||||
| 설정/기타 | `-settingsScrollGoal` `-settingsScrollPremium` `-premiumPreview` `-helpPreview`(+`-helpExpandAll`: 전 주제 펼침, `-helpScrollTo <help-main 등>`: 이미지 주제로 스크롤) `-dataExportPreview`(+`-dataExportRun`이면 CSV 자동 생성 후 Documents 복사) `-widgetPreview YES|lock` `-widgetPreviewScroll <앵커>` `-widgetRenderMode accented|vibrant`(틴트/투명 홈 렌더링 분기 검증) `cloudSync`(standard bool로 강제) `-intentSmokeTest`(시리 인텐트 10개 시나리오 실행 → Documents/intent-smoke-test.txt, -seedDemo·-premium과 함께) |
|
||||
| 버블 | `-radialExpanded` `-radialDoubleTapTest`(2초 뒤 FAB 더블탭 재현 — `-settings.radialDoubleTapTab <탭>`과 함께) |
|
||||
| 일기 | `-diarySeed`(필기 획 2줄 포함 — 달력 화면에서 먼저 시드 후 재실행으로 열 것) `-diaryOpenToday`(**`-startTab diary` 필수**) `-diaryPage <N>` `-diaryZoomScale <배>`(2.5초 뒤 fit×N 프로그램 줌 — 획 유지·선명도 확인) `-diaryShowConfig` `-diaryShowExport`(달력 화면 onAppear — `-diaryOpenToday`와 함께 쓰면 안 뜸) `-diaryExportRun pdf|image`(결과를 Documents로 복사) `-diaryShowCalendarPicker` `-diarySeedEvents` `-diaryHideFirstAction` `-diaryShowActionFilter` `-diaryHideFirstGoal` `-diaryShowGoalFilter` `-diarySeedPhoto`(오늘=이모지+사진·어제=사진만 기분 사진 시드 — 달력 백레이어 검증) `-diarySeedTemplate`(2쪽 샘플 PDF 양식 생성) `-diaryShowTemplates`(양식 관리 시트) `-diaryShowPageChooser`(페이지 추가 선택 시트) `-diaryApplyTemplate`(첫 양식으로 페이지 추가) / 섹션 강제: `-diary.sectionOrder "timetable,hero,goals"` `-diary.hiddenSections "mood,todos,records,bars"` |
|
||||
| 워치 | `-complicationPreview` `-complicationScroll` `-complicationScrollTo <stale\|quest>` `-autoRunFirstAction` `-autoStopRunning`(측정 중 행 탭과 동일 경로로 대표 측정 종료 — 페어링 심 E2E용) |
|
||||
|
||||
BIN
myApp/HaruDanim/IOS/HelpImages/help-diary-en.jpg
Normal file
|
After Width: | Height: | Size: 148 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-diary-ja.jpg
Normal file
|
After Width: | Height: | Size: 145 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-diary-ko.jpg
Normal file
|
After Width: | Height: | Size: 139 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-goal-en.jpg
Normal file
|
After Width: | Height: | Size: 108 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-goal-ja.jpg
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-goal-ko.jpg
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-history-en.jpg
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-history-ja.jpg
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-history-ko.jpg
Normal file
|
After Width: | Height: | Size: 73 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-main-en.jpg
Normal file
|
After Width: | Height: | Size: 120 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-main-ja.jpg
Normal file
|
After Width: | Height: | Size: 117 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-main-ko.jpg
Normal file
|
After Width: | Height: | Size: 110 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-radial-en.jpg
Normal file
|
After Width: | Height: | Size: 122 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-radial-ja.jpg
Normal file
|
After Width: | Height: | Size: 119 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-radial-ko.jpg
Normal file
|
After Width: | Height: | Size: 114 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-watch-en.jpg
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-watch-ja.jpg
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
myApp/HaruDanim/IOS/HelpImages/help-watch-ko.jpg
Normal file
|
After Width: | Height: | Size: 13 KiB |
@ -16,6 +16,30 @@ private struct HelpTopic: Identifiable {
|
||||
let symbol: String
|
||||
let title: LocalizedStringKey
|
||||
let body: LocalizedStringKey
|
||||
/// 설명 아래 붙는 예시 스크린샷의 베이스 이름 (예: "help-main").
|
||||
/// 실제 파일은 언어 접미사가 붙은 IOS/HelpImages/help-main-ko.jpg 형태 — HelpImage가 해석
|
||||
var imageName: String? = nil
|
||||
}
|
||||
|
||||
/// 도움말 스크린샷 로더 — 앱 표시 언어(ko/en/ja)에 맞는 변형을 고른다.
|
||||
/// 스크린샷에 UI 문구가 박혀 있어 String Catalog 대신 언어별 파일로 관리한다.
|
||||
private enum HelpImage {
|
||||
static func load(_ base: String) -> UIImage? {
|
||||
let lang: String
|
||||
switch Bundle.main.preferredLocalizations.first?.prefix(2) {
|
||||
case "en": lang = "en"
|
||||
case "ja": lang = "ja"
|
||||
default: lang = "ko"
|
||||
}
|
||||
// jpg는 UIImage(named:)의 확장자 생략 탐색에 안 걸릴 수 있어 URL로 직접 연다
|
||||
for candidate in ["\(base)-\(lang)", "\(base)-ko"] {
|
||||
if let url = Bundle.main.url(forResource: candidate, withExtension: "jpg"),
|
||||
let image = UIImage(contentsOfFile: url.path) {
|
||||
return image
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
private struct HelpGroup: Identifiable {
|
||||
@ -40,27 +64,42 @@ struct HelpView: View {
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
List {
|
||||
ForEach(groups) { group in
|
||||
Section(group.title) {
|
||||
ForEach(group.topics) { topic in
|
||||
DisclosureGroup {
|
||||
Text(topic.body)
|
||||
.font(.subheadline)
|
||||
.foregroundStyle(.secondary)
|
||||
.padding(.vertical, 4)
|
||||
} label: {
|
||||
Label {
|
||||
Text(topic.title)
|
||||
.font(.body.weight(.medium))
|
||||
} icon: {
|
||||
Image(systemName: topic.symbol)
|
||||
.foregroundStyle(AppTheme.green)
|
||||
ScrollViewReader { proxy in
|
||||
List {
|
||||
ForEach(groups) { group in
|
||||
Section(group.title) {
|
||||
ForEach(group.topics) { topic in
|
||||
// 검증용: -helpExpandAll YES(DEBUG) → 모든 주제를 펼친 채 시작 (스크린샷 검증)
|
||||
Group {
|
||||
if Self.forceExpanded {
|
||||
DisclosureGroup(isExpanded: .constant(true)) {
|
||||
topicBody(topic)
|
||||
} label: {
|
||||
topicLabel(topic)
|
||||
}
|
||||
} else {
|
||||
DisclosureGroup {
|
||||
topicBody(topic)
|
||||
} label: {
|
||||
topicLabel(topic)
|
||||
}
|
||||
}
|
||||
}
|
||||
.id(topic.imageName ?? topic.id.uuidString)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.onAppear {
|
||||
#if DEBUG
|
||||
// 검증용: -helpScrollTo help-main 등 → 해당 이미지 토픽으로 스크롤
|
||||
if let anchor = UserDefaults.standard.string(forKey: "helpScrollTo") {
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 1.2) {
|
||||
withAnimation { proxy.scrollTo(anchor, anchor: .top) }
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
.scrollContentBackground(.hidden)
|
||||
.background(AppTheme.background)
|
||||
@ -69,6 +108,47 @@ struct HelpView: View {
|
||||
.toolbar(.hidden, for: .tabBar)
|
||||
}
|
||||
|
||||
/// 검증용 전체 펼침 (DEBUG 런치 인자 -helpExpandAll YES)
|
||||
private static let forceExpanded: Bool = {
|
||||
#if DEBUG
|
||||
return UserDefaults.standard.bool(forKey: "helpExpandAll")
|
||||
#else
|
||||
return false
|
||||
#endif
|
||||
}()
|
||||
|
||||
private func topicBody(_ topic: HelpTopic) -> some View {
|
||||
VStack(alignment: .leading, spacing: 10) {
|
||||
Text(topic.body)
|
||||
.font(.subheadline)
|
||||
.foregroundStyle(.secondary)
|
||||
if let name = topic.imageName, let image = HelpImage.load(name) {
|
||||
Image(uiImage: image)
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
.frame(maxWidth: 300)
|
||||
.clipShape(RoundedRectangle(cornerRadius: 12, style: .continuous))
|
||||
.overlay(
|
||||
RoundedRectangle(cornerRadius: 12, style: .continuous)
|
||||
.strokeBorder(.quaternary)
|
||||
)
|
||||
.frame(maxWidth: .infinity)
|
||||
.accessibilityHidden(true) // 본문 설명의 예시 그림 — 낭독 중복 방지
|
||||
}
|
||||
}
|
||||
.padding(.vertical, 4)
|
||||
}
|
||||
|
||||
private func topicLabel(_ topic: HelpTopic) -> some View {
|
||||
Label {
|
||||
Text(topic.title)
|
||||
.font(.body.weight(.medium))
|
||||
} icon: {
|
||||
Image(systemName: topic.symbol)
|
||||
.foregroundStyle(AppTheme.green)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: 공통 — 기본 개념
|
||||
|
||||
private var basics: HelpGroup {
|
||||
@ -98,7 +178,8 @@ struct HelpView: View {
|
||||
HelpTopic(
|
||||
symbol: "play.circle.fill",
|
||||
title: "측정 시작·종료",
|
||||
body: "행동 버튼을 탭하면 시간형은 측정이 시작되고 다시 탭하면 종료돼요(테두리로 측정 중을 구분). 횟수형은 탭할 때마다 1씩 올라가요. 여러 행동을 동시에 측정해도 되고, 측정 중인 행동은 상단 '현재 진행 중' 영역에서도 종료할 수 있어요. 끄는 걸 자주 잊는다면 설정 → 측정의 '장시간 측정 알림'을 켜 보세요 — 정한 시간을 넘기면 알려줘요."
|
||||
body: "행동 버튼을 탭하면 시간형은 측정이 시작되고 다시 탭하면 종료돼요(테두리로 측정 중을 구분). 횟수형은 탭할 때마다 1씩 올라가요. 여러 행동을 동시에 측정해도 되고, 측정 중인 행동은 상단 '현재 진행 중' 영역에서도 종료할 수 있어요. 끄는 걸 자주 잊는다면 설정 → 측정의 '장시간 측정 알림'을 켜 보세요 — 정한 시간을 넘기면 알려줘요.",
|
||||
imageName: "help-main"
|
||||
),
|
||||
HelpTopic(
|
||||
symbol: "clock.badge.xmark",
|
||||
@ -135,7 +216,8 @@ struct HelpView: View {
|
||||
HelpTopic(
|
||||
symbol: "chart.bar.fill",
|
||||
title: "진행률 읽는 법",
|
||||
body: "다짐마다 하루·주간·월간 진행률이 표시돼요. 주간·월간 진행률은 하루 초과 달성이 다른 날의 미달을 가리지 않도록 하루 목표량까지만 인정해 합산하고, 요일·날짜를 정한 다짐은 수행일의 기록만 집계해요 — 수행일이 아닌 날의 '하루' 진행률은 '수행일 아님'으로 표시돼요. 다짐 자신의 주기(하루 다짐의 '하루' 등)에서는 100%를 넘는 초과 달성이 그대로 표시되지만, 주간 다짐의 '하루'처럼 주기와 다른 기간은 목표를 그 기간 몫으로 나눈 페이스 기준이라 최대 100%까지만 표시돼요. '이하 유지' 다짐은 한도 안이면 100%, 넘으면 0%예요 — 주간·월간 한도 다짐의 '하루'는 하루 몫 한도 기준이라, 주간 한도가 남았어도 오늘 많이 쓰면 먼저 알려주는 경고 역할을 해요."
|
||||
body: "다짐마다 하루·주간·월간 진행률이 표시돼요. 주간·월간 진행률은 하루 초과 달성이 다른 날의 미달을 가리지 않도록 하루 목표량까지만 인정해 합산하고, 요일·날짜를 정한 다짐은 수행일의 기록만 집계해요 — 수행일이 아닌 날의 '하루' 진행률은 '수행일 아님'으로 표시돼요. 다짐 자신의 주기(하루 다짐의 '하루' 등)에서는 100%를 넘는 초과 달성이 그대로 표시되지만, 주간 다짐의 '하루'처럼 주기와 다른 기간은 목표를 그 기간 몫으로 나눈 페이스 기준이라 최대 100%까지만 표시돼요. '이하 유지' 다짐은 한도 안이면 100%, 넘으면 0%예요 — 주간·월간 한도 다짐의 '하루'는 하루 몫 한도 기준이라, 주간 한도가 남았어도 오늘 많이 쓰면 먼저 알려주는 경고 역할을 해요.",
|
||||
imageName: "help-goal"
|
||||
),
|
||||
HelpTopic(
|
||||
symbol: "clock.badge.checkmark",
|
||||
@ -167,7 +249,8 @@ struct HelpView: View {
|
||||
HelpTopic(
|
||||
symbol: "calendar",
|
||||
title: "기록 보기·고치기",
|
||||
body: "기록 탭은 하루의 모든 기록을 보여줘요. 상단 화살표로 날짜를 이동하고, 기록을 탭하면 바로 수정할 수 있어요. 타임테이블 보기로 전환하면 하루 또는 일주일을 24시간 축 위에서 한눈에 볼 수 있어요."
|
||||
body: "기록 탭은 하루의 모든 기록을 보여줘요. 상단 화살표로 날짜를 이동하고, 기록을 탭하면 바로 수정할 수 있어요. 타임테이블 보기로 전환하면 하루 또는 일주일을 24시간 축 위에서 한눈에 볼 수 있어요.",
|
||||
imageName: "help-history"
|
||||
),
|
||||
HelpTopic(
|
||||
symbol: "line.3.horizontal.decrease.circle",
|
||||
@ -211,7 +294,8 @@ struct HelpView: View {
|
||||
HelpTopic(
|
||||
symbol: "book.closed.fill",
|
||||
title: "하루 정리 첫 페이지",
|
||||
body: "일기 탭 달력에서 날짜를 누르면 그날의 일기가 열려요. 첫 페이지는 오늘 기분·요약·목표 진행 현황·할 일·24시간 타임테이블·기록으로 하루를 정리해 보여줘요. 오른쪽 위 ⋯ 메뉴의 '첫 화면 구성'에서 섹션 표시 여부와 순서를 바꿀 수 있어요. 기분 사진을 남긴 날은 달력의 그 날짜 칸에 사진이 배경으로 함께 보여요."
|
||||
body: "일기 탭 달력에서 날짜를 누르면 그날의 일기가 열려요. 첫 페이지는 오늘 기분·요약·목표 진행 현황·할 일·24시간 타임테이블·기록으로 하루를 정리해 보여줘요. 오른쪽 위 ⋯ 메뉴의 '첫 화면 구성'에서 섹션 표시 여부와 순서를 바꿀 수 있어요. 기분 사진을 남긴 날은 달력의 그 날짜 칸에 사진이 배경으로 함께 보여요.",
|
||||
imageName: "help-diary"
|
||||
),
|
||||
HelpTopic(
|
||||
symbol: "calendar.badge.plus",
|
||||
@ -248,7 +332,8 @@ struct HelpView: View {
|
||||
HelpTopic(
|
||||
symbol: "circle.hexagongrid.fill",
|
||||
title: "글래스 버블 메뉴",
|
||||
body: "설정 → '내비게이션 방식'에서 '글래스 버블 메뉴'를 고르면 하단 탭바 대신 화면 아래 중앙 버튼 하나로 모든 탭을 열어요. 버튼을 누르면 유리 구슬 버튼들이 부채꼴로 퍼지고, 버블 순서도 설정에서 바꿀 수 있어요. '두 번 눌러 바로 이동'을 켜면 메뉴가 닫혀 있을 때 버튼을 빠르게 두 번 눌러 정해 둔 탭으로 바로 이동해요."
|
||||
body: "설정 → '내비게이션 방식'에서 '글래스 버블 메뉴'를 고르면 하단 탭바 대신 화면 아래 중앙 버튼 하나로 모든 탭을 열어요. 버튼을 누르면 유리 구슬 버튼들이 부채꼴로 퍼지고, 버블 순서도 설정에서 바꿀 수 있어요. '두 번 눌러 바로 이동'을 켜면 메뉴가 닫혀 있을 때 버튼을 빠르게 두 번 눌러 정해 둔 탭으로 바로 이동해요.",
|
||||
imageName: "help-radial"
|
||||
),
|
||||
HelpTopic(
|
||||
symbol: "square.grid.2x2.fill",
|
||||
@ -275,7 +360,8 @@ struct HelpView: View {
|
||||
HelpTopic(
|
||||
symbol: "applewatch",
|
||||
title: "워치에서 기록하기",
|
||||
body: "워치 앱을 열면 꼬리표 목록이 보여요. 꼬리표를 탭하면 그 안의 행동들이 나오고, 행동을 탭하면 시간형은 측정 시작·종료, 횟수형은 +1이 기록돼요. 아이폰 앱에서 즐겨찾기한 행동은 첫 화면 맨 위 '즐겨찾기'에서 한 탭 만에 열 수 있어요. 측정 중일 때는 첫 화면 맨 위에 측정 중인 행동과 시간이 보이고, 그 줄을 탭하면 바로 측정이 종료돼요. 기록은 아이폰과 자동으로 동기화돼요."
|
||||
body: "워치 앱을 열면 꼬리표 목록이 보여요. 꼬리표를 탭하면 그 안의 행동들이 나오고, 행동을 탭하면 시간형은 측정 시작·종료, 횟수형은 +1이 기록돼요. 아이폰 앱에서 즐겨찾기한 행동은 첫 화면 맨 위 '즐겨찾기'에서 한 탭 만에 열 수 있어요. 측정 중일 때는 첫 화면 맨 위에 측정 중인 행동과 시간이 보이고, 그 줄을 탭하면 바로 측정이 종료돼요. 기록은 아이폰과 자동으로 동기화돼요.",
|
||||
imageName: "help-watch"
|
||||
),
|
||||
HelpTopic(
|
||||
symbol: "watchface.applewatch.case",
|
||||
|
||||