
문장을 새기다, ekho - AppStore 보러가기
개요
마음에 품고 살고 싶은 문장을 기록해도 자꾸 잊어버려
설정한 스케쥴대로 등록한 문장을 푸시 알림으로 보내주는 서비스를 개발했습니다.
그 과정을 회고 및 발생한 이슈를 두서없이 정리합니다.
회고 및 레슨런
1. 성장 곡선은 점점 완만해진다지만
- 지난 프로젝트보다 배운 게 많지 않다.
- 아쉬웠던 지점을 보완하며 진행한 것에는 만족하지만, 벌써?
- 의도적으로 Uncomfortable Zone으로 걸어들어가자.
2. 써볼수록 맘에 드는
- 내가 만들었지만 쓸 수록 맘에 든다.
- 앞으로도 이런 걸 만들어야겠다는 생각.
3. 홍보
- 아직 본격적 홍보는 안들어갔지만 벌써 외면하고 싶은 마음이 생긴다.
- 이럴수록 더 달려들어야 한다.
4. 심사
- 몇 번 해봤다고 IOS 심사 한 방에 통과했다. 좋다.
5. Freemium 전략
개발 이슈
1. Expo-Notification 만으로는 동적 푸시 알림 불가
- 특정 시간대에 알림 스케쥴링을 걸어두면 해당 알림 내용이 동적으로 결정되어야 했는데
scheduleNotificationAsync()
로만은 불가능했다.
Expo-TaskManager
로 스케쥴에 접근해 내용을 수정하거나, 네이티브 코드로 백그라운드에서 처리해보려 했지만 알림 스케쥴에 접근할 방법을 찾지 못했다.
-> 결국 정석대로 서버사이드에서 관리
2. 세계시간 스케쥴
- timezone이 다른 국가 시간 처리를 해본 적이 없어서 헤맸다.
- 경험이 없다 보니 시간이 다를 수 있다는 것만 고려하고 개발했는데 아예 날짜가 다를 수 있다는 걸 놓쳤다. 멍청
- 사용자의 dayCode, timeCode 저장하고 UTC <-> local 컨버터를 구현했다.
3. 비로그인 서비스 분기
- 로그인 여부에 따라 기능 제한을 두고
- 최초 로그인 시 비로그인 활동 내역을 동기화 시켜주는 작업을 수행
- 처음 해본건데 재미있었음
4. testflight 충돌
- Expo Go에서 문제없이 개발했는데 TestFlight로 실행하자마자 충돌이 발생해 하루 종일 디버깅
- 프로젝트 중간에
Expo@52
로 올린 게 문제인지, RN@0.76.2
로 올린게 문제인지
- 관련 디펜던시 전부 업그레이드 다운그레이드 반복하며 열 번이 넘게 빌드
- 물리 디바이스 연결해 콘솔 찍어보니(바로 했어야 하는데)
expo-task-manager
를 찾지 못하고 있음.
- 개발 이슈#1에서
task-manager
를 깔았다 지우며 expo-push-notification
에 디펜던시로 걸려있는 것까지 지워진 게 아닐까 싶음.
5. 빌드 후 AppStore 제출해도 수정 안되는 현상
- 빌드 제출해도 UI가 변경되지 않았다.
eas update
테스트를 프로젝트 초기에 몇 번 했었는데 혹시나 해서 update
하니 해결.
- 추측으로는 네이티브 코드 관련 수정만 새 제출하고 나머지는
eas update
해야 하는 듯 하다.