내가 만든 암기장
1. 배경
에빙하우스의 망각곡선 이론을 기반으로 효율적인 반복학습을 통해 영어단어 암기 등 학습을 돕는 iOS앱 개발.
SwiftData + CloudKit에 대한 학습.
RevenueCat을 사용해보고 싶었음.
2. 작업 기간
2025.01.24 ~ 2025.02.03
3. 결과물
A. iOS 앱
•
SwiftUI + TCA
•
SwiftData, CloudKit, iCloud 연동
•
영어, 중국어(간체, 번체)
B. 내가 만든 암기장 웹페이지
•
암기장 CSV 파일을 앱에서 가져올 수 있도록 공유코드를 생성하는 역할
C. Supabase Project
•
암기장 CSV를 Database에 저장하고 공유코드로 변환하는 로직을 담당
4. 성과
A. iOS 기술적 성과
SwiftUI에서 NavigationStack을 통해 Route를 효율적으로 관리하는 방법. (최소지원 버전 16…..)
CloudKit + SwiftData를 통해 동일한 애플 계정에서 데이터를 공유할 수 있는 방법 학습
B. 인앱 결제
•
월 구독형, 영구 이용권 2개 타입의 인앱결제 상품을 생성 및 관리
•
RevenueCat을 이용해 관리… RevenueCat 최고
•
인앱결제 상품이 있는 경우 이용약관, 개인정보처리방침이 필수, 없는 경우 앱스토어 심사에서 리젝
측정 중
5. 해결해야 할 문제
A. CloudKit 연동 진행중일때의 UX
동일 애플 계정으로 로그인된 iPhone, iPad가 있을 때, 어느 한쪽에서 수정한 내용이 다른쪽에도 정상적으로 반영됨은 확인했으나, 동기화 시간이 어느정도 필요함.
유저의 실제 Flow에서 이 시간 차이로 불편함을 겪는 경우는 적긴 하겠지만, 개발 단계에서의 까다로움은 있었음. 동기화 진행중임을 알 수 있는 방법이 있다면 추가적인 UX 개선은 가능할 것으로 보임.