오늘은 아침부터 어제 온 iOS 심사 거절이 너무너무 신경 쓰여서 심사 대응부터 했다.
이번에도 그 로그인 문제다 ㅠㅠ
1.1.8 배포 때 심사팀이랑 10일 동안 씨름했던 기억이 아직 생생한데..


(끝이 없는 심사 핑퐁의 1.1.8 버전 시절… 지금 생각해보면 애플 심사팀이 져주고 배포 승인 해준 것 같음… 힘들었다 ㅠㅁㅠ)
또 그 로그인 문제, 그런데 이번엔 다르다
예전에는 내 테스트 환경에서 재현이 안 됐고, 에러 로그도 없어서 정말 막막했다.
그런데 같은 현상으로 또 거절이라니 ㅠㅠㅠ
그래도 이번엔 조금 희망적이었다!
여전히 내 환경에서는 재현이 안 됐지만, 다행히(?) 로그가 남아 있었고 심사팀이 테스트한 데이터도 남아 있었다.
원인은 id가 null로 들어올 때 서버에서 나는 에러였다.
로그인 제공업체가 이메일 주소를 넘겨주지 않는 사용자,
예를 들면 ‘Apple로 로그인’이나 이메일 제공에 동의하지 않은 카카오 계정으로 신규 가입할 때 서버에서 오류가 나고 있었던 것.
앱 쪽은 문제가 없어서 서버만 고쳤고,
서버에서 수정을 마쳤으니 별도의 앱 업데이트(빌드)는 필요 없다는 내용과 함께 재심사를 요청했다.
지금은 심사 중. (iOS랑 Flutter 버전만 올린 배포라 문제없을 줄 알았는데.. ^^;)
이번 수정으로 로그인 문제에서 제발 해방되길..

IP 창업존 34기 선발!
좋은 소식도 있었다!
얼마 전에 신청한 「서울지식재산센터 IP 창업존 34기(2026년 3차)」 교육생으로 선발됐다는 메일을 받았다 ^ㅁ^

10/19(월)부터 10/22(목)까지 총 4일.
19일만 온라인이고, 20일부터 22일까지 3일은 오프라인 교육이다.
교육도 듣고, 2027년에 IP디딤돌에 선정되면 자부담금까지 면제해 주는 프로그램!
커리큘럼도 지금 나한테 딱 필요한 과정인데,
사실 이 교육은 다시 실행하기를 하던 중에 특허 취득을 고민하다가 우연히 알게 됐다.
역시 우리 뇌는 답을 알고 있다. 간절히 원하면 이룰 수 있는 곳으로 데려가 주는 느낌.
(내 인생책 『결국 해내는 사람들의 원칙』에 나오는 망상활성계, RAS 이론이다)
커리큘럼도 좋지만, 거기서 만날 나와 비슷한 처지의 사람들과 자연스럽게 네트워킹할 수 있지 않을까 기대 중이다.
진심으로 내 제품을 아끼고 응원하면서, 내 시간과 돈을 들여 키워 갈 생각을 하니 지금은 진짜 좀 설렌다.
직접 찾아보고 신청한 것도, 어제처럼 디스콰이엇을 보고 누군가 나를 찾아준 것도..
작고 소중하지만 어쨌든 성과로 돌아오고 있는 것 같아서 벅차다 ^ㅅ^
16일에 있을 서울앵커사업단 실전창업 전투강좌(IR, 스피치 위주)는 아직 선정 소식이 없다.
그래도 참여할 수 있을 거라고 기대 중!
우월 2.0, 이번엔 Claude Code랑
그렇게 행복한 기분으로 우월 2.0 기획/디자인 작업에 들어갔다.
먼저 환경 세팅.
Claude Code를 설치하고(PATH 문제 해결하고 Claude Max로 로그인), 외부 터미널에서 앱 세션이랑 서버 세션 두 개를 같이 띄워 놓고 작업하는 방식을 잡았다. (클로드코드는.. 개발자의 자존심으로 프로젝트 전역을 맡기기 싫어서 미루고 미뤘는데 써보니깐 왜이렇게 좋은거야 ^^)
프로젝트마다 CLAUDE.md(지켜야 할 규칙)랑 .claude/settings.json(추가 폴더 지정, 운영 컨테이너 조작 차단)도 만들어 뒀다.
앱 (weddingApp)
- 업그레이드 완료 (main 머지)
Flutter 3.29.3 → 3.47.6, Android 16(API 36), iOS 최소 15.0, 버전 1.1.10 - 리브랜딩 v1.2
디자인 시안 14개와 스토리보드 48장을 분석해서 계획 문서를 만들고, 시안이랑 기획서가 부딪히는 항목들도 결정을 끝냈다.
구현은 토큰·테마 → 공통 위젯·갤러리 → 하단 탭 5개 재편까지 끝났고, 4단계에서 로그인, 예산(수정·비용 추가·상세), 일정까지 완료. 지금은 알림 화면 작업 중이다.
서버 (smartWeddingAPI)
- 보안 수정 (운영 배포 완료)
인증 없이 열려 있던 경로 2개 제거, 남의 프로필을 바꿀 수 있던 취약점 차단, 메일 계정 환경 변수화(삭제된 계정은 새 Gmail로 교체), 소셜 토큰 검증과 로그인 횟수 제한까지.
로그인 3종이랑 문의 메일 확인하고 main에 머지했다. - v2 API (운영 미배포)
기존 구조를 분석해서 계획 문서를 쓰고, 결정 사항 19개를 확정했다.
0단계로 1.1.x 응답이 바뀌면 바로 깨지는 보호 테스트랑 v2 전용 보안 체인을 깔았고,
1단계로 인증(토큰 필수 검증, 심사 전용 로그인, 버그 기간에 가입한 회원 39명 계정 찾기), 온보딩, 예산, 알림 설정, 커플 초대·연결·해제까지 구현.
테스트 239개 통과! ^ㅁ^
남은 일
- 바로 다음
서버는 확인 사항 9개 답변(특히 예산 삭제 방식 변경),
앱은 알림 화면 마무리 → 마이페이지, 이벤트 → 5단계 홈 - 직접 확인할 것
에뮬레이터에서 예산 저장·삭제, 일정 추가·삭제 한 번씩 해 보기
서버 local 프로필로 띄워서 MySQL 테이블 생성 확인
카카오 콘솔 앱 ID 확인 - v2 배포 전에 꼭
실제 Android 기기에서 v2 Google 로그인 확인
심사 전용 계정·코드 환경 변수 등록
D-day 기본 이미지, 로그인 로고 고해상도로 교체 - 나중에
1~2주 뒤 토큰 수신 비율 보고 남은 결정 하나 마무리, Apple 로그인은 실제 사용자 로그로 확인
더 이상 뺄 게 없는 상태
역시 인생은 아무것도 하지 않으면 아무 일도 일어나지 않는다는 걸 새삼 깨닫는 하루다.
그동안 까먹은 시간이 너무너무 아깝다 ^^;
오늘 읽은 『퓨처 셀프』에 이런 말이 나온다.
완벽하다는 건 뭘 더 더하는 게 아니라, 더 이상 뺄 게 없는 상태라고.
(퓨처 셀프도 진짜 마음을 울리는 책이었다)
뺄 게 없는 상태로 만들기 = 낭비하는 시간 줄이기.
요즘 내 인생 슬로건이랑도 비슷한 맥락이다.
책에서 48시간 안에 미래의 내가 되어 지금의 나에게 편지(혹은 영상 편지)를 써 보라고 했는데,
진짜 48시간 안에 써 봐야겠다.
(나는 독서를 정말 좋아하고 즐기는 편이다. 나중엔 인생책 리뷰도 올려야징)
며칠째 다시 내 꿈에 몰입하며 사는 중인데,
하루가 길고, 알차고, 보람차고, 피곤하고, 뿌듯하다.
오늘도 고생한 나, 굿밤~ ^ㅁ^