App Store 첫 제출 리젝 — 4가지 사유와 대응 정리
나닮 앱을 처음으로 App Store에 제출했다가 2026년 3월 3일 리젝당했다. v1.24.x 제출, 4가지 가이드라인 위반이었고, 코드 수정 3건과 Resolution Center 답변 2건으로 대응해서…
직접 만들고 운영 중인 서비스 "나닮"의 개발 기록. 기술 선택의 이유, 실제로 터진 문제, 앱 심사 리젝까지 있는 그대로 남긴다.
처음이라면 프론트엔드 연재 1편부터 보면 전체 구조가 잡힌다.
나닮 앱을 처음으로 App Store에 제출했다가 2026년 3월 3일 리젝당했다. v1.24.x 제출, 4가지 가이드라인 위반이었고, 코드 수정 3건과 Resolution Center 답변 2건으로 대응해서…
감정 캘린더 월 이동, 친구 페이지 탭 전환, 하단 탭바 스크롤 투 탑을 모바일 터치로 넣으면서 겪은 걸 정리해 둔다. 특히 iOS WKWebView에서는 React 합성 이벤트만으로는 수평 스와이프가 안 먹힌다는…
나닮을 Capacitor로 iOS 네이티브에 올리면서, 키보드 올라올 때 탭바, 입력 필드 가림, APNs 배지, 이메일 링크 앱/웹 분기, SMTP 안정성까지 손댄 걸 짧게 정리해 둔다. 웹뷰만이 아니라…
GPT Image API 비용을 잡기 위해 "아바타 새로 뽑기"에 일일 3회 제한을 넣었다. DB 확장, 서비스 레이어, API, 프론트까지 한 번에 손댄 패턴을 정리해 둔다. 다른 "일 N회 제한" 기능에도…
친구 페이지 리디자인을 하면서 FriendListPage.tsx 한 파일에 몰려 있던 로직을 탭 단위로 나눴다. 578줄이 47줄로 줄고, 나머지는 탭·카드·모달 컴포넌트로 흩어졌다. 그때 썼던 패턴만 정리해…
나닮에서 페르소나 진화, 구독 정책 변경, UI 레이어를 건드리면서 겪었던 버그와 정리 패턴을 정리해 봤다. "기준점 초기화", "dead code 정리", "z-index" 세 가지를 중심으로 쓴다. 페르소나를…
feature/web-enhancement 브랜치에서 DB 성능, 프론트 성능, API 보안, 테스트 품질 네 가지 축으로 개선을 몰아서 진행했다. 한 번에 다 쓰진 않고, 손댄 부분만 요약해 둔다. 각 항목마다…
나닮은 Capacitor로 iOS 앱을 띄우고 있다. 카카오/구글/애플 소셜 로그인을 넣었는데, SFSafariViewController에서 로그인은 잘 되는데 앱으로 돌아오지 않고 그냥 웹 페이지가 로드되는…
같은 모델인데 왜 어떤 엔드포인트에서는 되고, 어떤 엔드포인트에서는 안 될까. 이번에 images.generate는 정상인데 images.edit만 계속 400을 뱉는 상황을 만났고, 결론적으로는 "모델 문제가…
나닮 프론트엔드에서 캐싱은 "빠르게 보여주기"보다 "언제 새로 가져올지 예측 가능하게 만들기"에 더 가까웠다. 처음에는 전부 기본값으로 두고 시작했는데, 페이지가 늘어나면서 어떤 화면은 너무 자주 요청하고 어떤…
나닮는 Mac Mini 한 대에서 셀프호스팅하는 프로젝트다. 코드를 푸시할 때마다 수동으로 SSH 접속해서 pull 하고 docker compose 다시 띄우는 식으로 하다 보니, 실수도 나고 머지 전에 뭔가 깨진…
나닮에 소셜 로그인을 붙이면서 카카오, 구글, Apple 세 가지를 지원하기로 했다. 카카오와 구글은 순탄하게 붙었다. OAuth 흐름 자체가 비슷하니까, 하나 해봤으면 나머지는 복붙에 가까웠다. 그런데 Apple…
나닮에서 AI 페르소나와 대화하는 기능을 만들 때, 처음에는 단순한 POST 요청으로 구현했다. 메시지를 보내면 서버가 LLM 응답을 생성해서 통째로 돌려주는 방식. 작동은 했다. 근데 문제는 체감 속도였다.…
프론트엔드에서 "상태 관리"라는 말을 들으면 무슨 생각이 드는가? 나는 솔직히 처음에 Redux 하나면 다 될 줄 알았다. 서버에서 받아온 데이터든, 로그인 여부든, 다크모드 토글이든 — 전부 하나의 store에…
나닮는 일기 앱이다. 매일 쓰는 서비스다. 그런데 매번 브라우저를 열고 주소를 입력해서 접속한다? 그건 일기장이 아니라 웹사이트다. 사용자가 홈 화면에서 아이콘 하나 톡 누르면 바로 일기를 쓸 수 있어야 한다.…
SPA를 배포하고 나서 "사용자한테 안 보여요"라는 말을 들어본 적 있는가? 나는 있다. 정확히는 나닮를 운영하면서 꽤 여러 번 들었다. 새 기능을 넣고 배포했는데, 사용자가 이전 버전을 계속 쓰고 있는 거다.…
프론트엔드 코드를 작성하는 건 전체 여정의 절반쯤이다. 나머지 절반은 그 코드가 사용자 브라우저에 도달하기까지의 여정 — 빌드, 컨테이너화, 네트워크 프록시, 배포 — 이런 것들이다. 나닮를 만들면서 이 부분에서…
나닮는 일기를 기반으로 AI 페르소나를 만들어주는 서비스다. 혼자 개발하고 있다. 프론트엔드 기술 스택을 고를 때 가장 많이 고민한 건 "이걸로 끝까지 갈 수 있을까?"였는데, 돌이켜보면 그 고민 자체가 좀 과했던…