시간대별로 할 일을 관리하는 iOS 할 일 관리 앱입니다. iOS Calendar와 Reminders와 완전히 동기화되어 일정을 효율적으로 관리할 수 있습니다.
- 4가지 시간대: 아침, 일과 중, 귀가 후, 자기 전
- 각 시간대별로 색상 구분 (빨강, 주황, 초록, 파랑)
- 현재 시간대에 맞는 할 일을 자동으로 표시
- 시간대별 시작/종료 시간 커스터마이징 가능
- 양방향 동기화: 앱에서 생성한 할 일이 Reminders에 자동 추가
- 자동 가져오기: Calendar와 Reminders의 이벤트/미리알림을 앱으로 자동 가져오기
- 실시간 업데이트: 외부에서 수정한 내용이 앱에 자동 반영
- 범위 기반 필터링: 하루 범위 내의 항목만 표시 (앞뒤 2일치 확인 후 필터링)
- 미완료 → 진행중 → 완료 → 미완료 (순환)
- 각 상태별로 시각적 구분
- 완료 시간 자동 기록
- 할 일 행의 오른쪽에 두 개의 버튼을 두어 다른 시간대로 이동시킬 수 있음
- 이전 시간대로 이동 / 다음 시간대로 이동 버튼 제공
- 미리알림과 연동된 할 일의 경우 시간 정보 자동 제거
- 해야 할 일: 필수로 해야 하는 할 일
- 하고 싶은 일: 선택적으로 하고 싶은 할 일
- 시간대별 시작/종료 시간 커스터마이징
- Calendar 및 Reminders 권한 관리
- 수동 동기화 기능
- 언어: Swift
- 프레임워크: SwiftUI
- 데이터 저장: UserDefaults
- 외부 연동: EventKit (Calendar & Reminders)
myTodoAPP/
├── Models/ # 데이터 모델
│ ├── TodoItem.swift
│ ├── TodoStore.swift
│ ├── TimeSettings.swift
│ └── ...
├── Views/ # UI 컴포넌트
│ ├── MainView.swift
│ ├── TodoRowView.swift
│ ├── AddTodoView.swift
│ └── ...
└── Services/ # 비즈니스 로직
├── CalendarSyncService.swift
├── CalendarEventSync.swift
├── ReminderSync.swift
└── ...
- iOS 15.0 이상
- Xcode 14.0 이상
- Calendar 및 Reminders 접근 권한
- 프로젝트를 클론하거나 다운로드합니다
- Xcode에서
myTodoAPP.xcodeproj를 엽니다 - 시뮬레이터 또는 실제 기기에서 실행합니다
앱을 처음 실행하면 Calendar와 Reminders 접근 권한을 요청합니다. 동기화 기능을 사용하려면 권한을 허용해야 합니다.
- 상단: 현재 시간대의 할 일 목록
- 하단: 전체 할 일 목록 (확장/축소 가능)
- 필터: "해야 할 일" / "하고 싶은 일" 전환
- 제목, 메모 입력
- 유형 선택 (해야 할 일 / 하고 싶은 일)
- 시간대 선택 (선택사항)
- 제목, 메모 수정
- 유형 변경
- 시간대 변경
- 상태 변경
- 삭제
- 시간대별 시간 설정
- Calendar/Reminders 권한 관리
- 수동 동기화
- 메인 화면에서 "+" 버튼 클릭
- 제목과 메모 입력
- 유형과 시간대 선택
- 저장
- 할 일 행을 왼쪽으로 스와이프
- 나타나는 화살표 버튼으로 이전/다음 시간대로 이동
- 할 일 행을 탭하여 상세 화면 열기
- 상태 변경 또는 메인 화면에서 직접 토글
- 앱에서 생성한 할 일은 자동으로 Reminders에 추가됩니다
- Calendar와 Reminders의 이벤트/미리알림은 자동으로 앱에 가져와집니다
- 외부에서 수정한 내용은 앱을 다시 열 때 자동 반영됩니다
이 프로젝트는 개인 프로젝트입니다.