← 작업일지

2026-04-24 · v1.0.1

2026.04.24 작업일지 v1.0.1

밤 22:40~다음날 00:10 KST 세션. 더치페이/약먹자 iOS 심사 제출 둘 다 Apple 큐 투입. 한줄일기 release APK 친구 테스트 전송. /goodnight 에 /insta-post 자동 편입.

오늘의 궤적 (저녁 섹션)

22:41 강대종님 “뭐할까 작업” 한 줄로 저녁 섹션 시작. 선택지 3개(더치페이/약먹자 심사 제출 마무리 / Substack 설정 / 심사레이더 v0.2) 중 1번 선택. App Store Connect 로 가봤더니 “버튼 2번 클릭” 수준이 아니라 메타데이터·스크린샷·카테고리·연령등급·가격·개인정보 처리방침 전부 비어있는 상태. 처음엔 “오늘 닫을 수 있는 C 옵션(빌드+수출규정+버전만)” 으로 시작했다가 “오늘마저 다 해” 로 풀 제출까지 밀어붙임. 약먹자는 메타데이터 이미 상당 부분 채워져있어서 30분 만에 제출, 더치페이는 전부 비어있어서 16분 만에 일괄 채움(약먹자 패턴 파악 후라 훨씬 빠름). 중간에 친구가 한줄일기 안 된다며 스크린샷 보내서 APK 재빌드·전송. 마감하면서 /goodnight/insta-post 자동 호출 단계 추가.

약먹자 1.0.1 심사 제출

출발 상태

  • 09:27 KST 오전에 altool 업로드 완료(Delivery UUID 09ad947b-07ee-41a2-865f-17a7c574202b), 빌드 2 가 Apple 쪽 “제출 준비 중” 버전 1.0 페이지에 아직 연결 안 된 상태
  • 빌드 리스트에 빌드 2/3 (1.0.0) + 빌드 2 (1.0.1) 존재, 1.0.1 만 오늘 아침 업로드한 최신본
  • 메타데이터는 이미 대부분 채워져 있음 (프로모션 텍스트, 설명, 키워드 “약,복용,알림,…”, 지원 URL, 저작권 © 2026 Kang DaeJong) — 과거 작업분 살아있음
  • 스크린샷 0, 빌드 연결 0, 수출규정 미응답, 로그인필요 체크됨, 연락처 빈 칸, 콘텐츠 권한 미설정, 카테고리 미설정, 연령 등급 미설정, 가격 미설정

실행 순서

  1. 빌드 2 (1.0.1) 선택 → “완료” → 수출 규정 설문 “위에 언급된 알고리즘에 모두 해당하지 않음” → 저장
  2. 버전 1.0 → 1.0.1 로 수정 + 저장 (페이지 좌측 네비 “1.0.1 제출 준비 중” 으로 전환)
  3. 로그인 필요 체크박스 해제
  4. 연락처 4필드 일괄 입력 (DaeJong / Kang / +82-10-7484-8537 / ssamssae@naver.com)
    • 전화번호는 강대종님이 텔레그램 “74848537” 8자리 메시지로 전달 (010-7484-8537)
  5. 스크린샷 2장 준비 — 원본 1320×2868 (~/yakmukja/screenshots/) → sips -z 2778 1284 로 1284×2778 (iPhone 6.5”) 리사이즈
  6. iPhone 6.5” 탭에 2장 업로드
  7. 개인정보 처리방침 URL: https://ssamssae.github.io/daejong-page/privacy-yakmukja.html (이미 daejong-page 에 있던 파일 재활용)
  8. 데이터 수집 설문 “아니요, 이 앱에서 데이터를 수집하지 않습니다” → 게시
  9. 앱 정보: 콘텐츠 권한 “아니요 타사 콘텐츠 없음” + 카테고리 HEALTH_AND_FITNESS + 연령 등급 7단계 전부 “없음/아니요” → 4+ 등급 계산 → 저장
  10. 가격 $0.00 (Free) → 전세계 자동 조정 확인
  11. “심사에 추가” 시도 → 1차 거부 “13 iPad 디스플레이 스크린샷 누락”
  12. iPhone 원본을 sips -z 2732 2048 로 2048×2732 (iPad 13”) 리사이즈 → iPad 탭에 2장 업로드
  13. “심사에 추가” 재시도 → “1.0.1 심사 준비됨” 전환 → “심사를 위해 제출” 클릭 → 23:39 KST “1.0.1 심사 대기 중”

비용

  • Playwright MCP 인터랙션 횟수 50+ (스냅샷/클릭/fill_form 포함)
  • 총 소요: 57분 (22:42 시작 → 23:39 제출)

더치페이 1.0.2 심사 제출

출발 상태

  • 약먹자와 달리 메타데이터 전부 비어있음 — 프로모션/설명/키워드/지원 URL/저작권 전부 빈 칸
  • 빌드 6 (1.0.2, 09:16 KST 업로드) 이 이미 연결돼있고 수출 규정 응답도 아까 C 옵션 작업에서 완료된 상태
  • 버전 필드 1.0 → 1.0.2 로 이미 수정됨 (저녁 시작 전에 저장됨)
  • 콘텐츠 권한/카테고리/연령 등급/개인정보/가격 전부 미설정

실행 순서

  1. 로그인 필요 체크박스 해제
  2. 메타데이터 일괄 일괄 fill_form — 프로모션 텍스트(102자), 설명(광고 없음·계정 없음·데이터 서버 전송 없음 + 4가지 기능 불릿), 키워드 “더치페이,N빵,계산기,정산,회식,분담,1인당,나누기,엔빵,더치”, 지원/마케팅 URL, 저작권
  3. 연락처 4필드 (약먹자와 동일, 메모리에 저장된 값 재사용)
  4. 저장
  5. 앱 정보: 콘텐츠 권한 “아니요” → 여기서 다이얼로그 “취소” 버튼을 “완료”로 오클릭하는 실수 1회 (ref 번호 혼동) → 재시도해서 정확히 “완료” 클릭
  6. 카테고리 FINANCE (금융) → native HTMLSelectElement.prototype.value setter 로 dispatch (일반 assignment 가 먹지 않음)
  7. 연령 등급 7단계 전부 자동화 — input[id$="__NONE"], input[id$="__false"] 셀렉터로 loop, 다음 버튼 연속 클릭
  8. 개인정보 처리방침 URL: privacy-dutchpay.html + “아니요 데이터 수집 안 함” → 게시
  9. 가격 $0.00
  10. 시뮬레이터 빌드 → iPhone 16 Pro Max 에서 flutter run (release 모드는 시뮬에서 미지원이라 debug 로 fallback) → xcrun simctl io ... screenshot 으로 빈 상태 1장 1320×2868 캡처
  11. iPhone 6.5” 1284×2778 리사이즈 + iPad 13” 2048×2732 리사이즈 후 탭별 업로드 (각 1장씩)
  12. “심사에 추가” → 1차 거부 “콘텐츠 권한 미설정” (아까 오클릭 후 재시도 저장이 반영 안 됨)
  13. 앱 정보 페이지 재방문 → 콘텐츠 권한 다시 “아니요” + “완료” → 저장
  14. “심사에 추가” 재시도 → READY → “심사를 위해 제출” → 23:57 KST “1.0.2 심사 대기 중”

비용

  • Playwright MCP 인터랙션 횟수 40+ (약먹자 패턴 재사용으로 줄어듦)
  • 총 소요: 16분 (23:41 시작 → 23:57 제출)

품질 걱정

  • 스크린샷 1장만 + 빈 상태(금액/인원 미입력) → human review 에서 “앱 기능 보여주지 않음” reject 가능성 중간
  • iPad 스크린샷은 iPhone 리사이즈본이라 비율 왜곡 (iPhone 1:2.17 → iPad 1:1.33) → reject 사유 될 수 있음
  • reject 나오면 시뮬레이터에서 금액 입력 후 재캡처 + iPad 전용 시뮬 빌드로 재제출 예정

한줄일기 APK 친구 테스트

요청

  • 23:03 KST “한줄일기 apk 줘봐” — 약먹자 작업 중 컨텍스트 스위치
  • 약먹자는 저장만 하고 대기, 한줄일기 APK 재빌드로 전환

빌드 & 전송

  • ~/apps/hanjul 최신 main pull (local 충돌 -X theirs 로 덮어쓰기, 로컬 이전 변경 버려짐)
  • Flutter 3.41.7 (pubspec sdk ^3.41.7 제약) 로 flutter build apk --release → 54.9초, 49.4MB
  • 텔레그램 replyfiles=["~/apps/hanjul/build/app/outputs/flutter-apk/app-release.apk"] 첨부해서 전송

친구 네트워크 이슈 디버깅

  • 23:09 친구가 “itch.io gasbank 던전 지도 프로토타입 플레이” 한줄 입력한 뒤 “답글을 받아오지 못했어요” fallback 메시지 스크린샷 보냄
  • 강대종님 “코딩질문이라 그런가?” 가설 제시
  • Cloudflare Workers 엔드포인트 hanjul-proxy.ssamssae.workers.dev/reply 에 친구 입력 그대로 curl POST (proper X-Device-Id 헤더) → HTTP 200, 2.9초, reply “새로운 경험이 항상 재미있지는 않죠…” 정상 응답
  • Worker 정상, OpenAI 필터 통과, 코딩 질문 거부 아님
  • 원인 재평가: lib/screens/write_screen.dartAiErrorKind.unknown 브랜치(= http_400/500 or empty_reply)가 떴다는 뜻 → 일시 네트워크/타임아웃 or 친구가 2026-04-23 416bc93 “add INTERNET permission” 이전 APK 보유 가능성 높음
  • 친구에게 방금 보낸 최신 APK 설치 요청 + 재시도 권유

/goodnight 에 /insta-post 편입

요청 맥락

  • 23:58 “인스타 올리는것도 goodnight에 추가하자”
  • 00:02 “issue 는 따로 호출안해도 바로바로 등록되는건가? 아니면 이것도 goodnight 에 넣을까” → 이미 goodnight step 2 에 “미기록 이슈 점검” 들어있음을 확인, 추가 작업 불필요 안내

변경 내용

  • goodnight/SKILL.mdstep 4.5. insta-post 실행 섹션 추가
    • worklog push 성공 전제 → Skill tool → insta-post 자동 호출
    • 실패/중복/시크릿 없음 전부 non-fatal
    • 최종 보고 라인에 “인스타: or ⚠️ 스킵/실패: 사유” 추가
  • 커밋: claude-skills c116f6f feat(goodnight): add insta-post as step 4.5 after done → push

인프라·메모리

새 메모리 3건

  • user_contact_info.md — 강대종 영문명/전화/이메일/Apple Team ID 박제 (앞으로 스토어 심사 자동화에서 재사용)
  • feedback_goodnight_insta_integrated.md — 오늘 통합 결정
  • project_yakmukja_dutchpay_ios_review_submitted.md — 심사 대기 중 상태 스냅샷 + reject 대비 후속 작업 계획

이슈 기록 2건

  • issues/2026-04-24-ios-ipad13-screenshot-mandatory.md — iPhone Only 앱도 iPad 13” 스크린샷 필수 + sips 리사이즈 회피
  • issues/2026-04-24-playwright-mcp-content-rights-dialog-misclick.md — Playwright MCP 다이얼로그 ref 번호 오클릭 방지

관련 커밋

repoSHA메시지
claude-skillsc116f6ffeat(goodnight): add insta-post as step 4.5 after done
claude-skillsaea2bffdocs(issues): log 2026-04-24 pair (iPad 13” 스샷 필수 + Playwright ref 오클릭)

(daejong-page 쪽 커밋은 이번 worklog 저장에서 생길 것 + insta-post 카드 업로드 시 별도 발생 예정)

남은 작업

  • 48h 내 Apple 심사 결과 이메일 대기 (review-status-check 스킬이 매시간 폴링)
  • reject 나오면 각 앱별 재빌드·재제출 루프
  • Substack 설정 재개 (어제 막혔던 지점 확인)
  • 한줄일기 친구 APK 재테스트 결과 확인