$ cd ..

# 오류 해결

20 posts

2026-09-11

세이브를 통째로 날리는 디버그 버튼이 스토어 스크린샷에 찍혀 있었습니다

출시 직전 스크린샷을 보다가 「전체 초기화 (디버그)」 버튼을 발견했습니다. 가드가 하나도 없어서 릴리스 빌드에도 그대로 나갈 상태였죠. 컴파일 심볼로 막는 법과, 그것만으로는 스크린샷을 막지 못하는 이유를 정리했습니다.

read more →
2026-09-09

업로드가 "성공"인데 App Store Connect에 빌드가 없다면 — plist 한 줄의 함정

iOS 앱을 올리는데 어떤 앱은 되고 어떤 앱은 안 됐습니다. 원인은 ExportOptions plist 딱 두 줄이었고, 그 파일이 build/ 폴더에 있어서 flutter clean 한 번에 사라지고 있었습니다. Transporter 없이 xcodebuild만으로 올리는 표준 절차를 정리했습니다.

read more →
2026-09-01

iCloud 동기화가 멈췄는데 진단은 전부 "정상"이었습니다 — 사내망이 업로드만 막을 때

노트북 두 대의 iCloud 동기화가 4시간 멈췄습니다. brctl도 데몬도 전부 정상이라고 답했죠. 범인은 업로드만 차단하는 사내 네트워크였고, 유일하게 유효한 신호는 양쪽 파일의 수정 시각 대조였습니다.

read more →
2026-08-13

GitHub이 "레포가 없다"고 할 때 — private 저장소가 403이 아니라 404인 이유

레포 16개를 조회했더니 15개가 404였습니다. 이름이 틀린 게 아니라 토큰이 못 보는 private 저장소를 GitHub이 404로 숨긴 것이었습니다. fine-grained PAT의 소유자 제약과 토큰 선택 기준까지 정리했습니다.

read more →
2026-08-04

Railway로 옮겼더니 네트워크 요금이 붙었습니다 — 사라진 CDN과 page cache 과금

Vercel에서 Railway로 옮긴 뒤 네트워크 요금이 메모리만큼 나왔습니다. 원인은 코드가 아니라 '이전과 함께 사라진 CDN'이었고, 메모리 요금에는 파일 캐시까지 포함돼 있었습니다. 진단 방법과 Cloudflare 캐시 규칙으로 잡은 과정을 정리했습니다.

read more →
2026-08-03

Flutter에서 점수가 들쭉날쭉 흔들린 이유 — Flexible과 Spacer를 같이 쓰면 생기는 일

랭킹 화면의 점수가 행마다 좌우로 흔들려 원인을 추적했습니다. 범인은 Row 안에서 나란히 쓴 Flexible과 Spacer였고, Expanded 하나로 정리한 과정과 숫자 폭까지 맞추는 방법을 정리했습니다.

read more →
2026-07-28

Next.js 서버 메모리 500MB, 범인은 이미지 최적화였습니다 — 환경변수 2개로 절반 줄인 실전기

Railway로 옮긴 Next.js 사이트가 500MB에서 플래토를 그려 원인을 실측으로 분해했습니다. sharp 이미지 최적화가 주범이었고, 코드 수정 없이 환경변수 2개로 같은 부하에서 444MB→247MB로 줄인 과정을 정리했습니다.

read more →
2026-07-25

Flutter 패키지 올렸더니 안드로이드 빌드가 깨졌다 — JVM 타깃 충돌 3연쇄 해결기

홈 화면 위젯 패키지를 최신 버전으로 올린 뒤 'Inconsistent JVM-target compatibility' 오류로 안드로이드 빌드가 멈췄습니다. app 모듈만 고쳐서는 해결되지 않았고, 플러그인 모듈까지 세 단계로 정리해야 했던 과정을 코드와 함께 정리했습니다.

read more →
2026-07-24

Flutter 효과음 때문에 화면이 끊길 때 — audioplayers AudioPool로 프레임 히치 없애기

탭할 때마다 효과음이 늦게 나고 화면이 걸리는 건 소리를 낼 때마다 오디오 소스를 다시 준비하기 때문입니다. AudioPool 프리로드와 앱 시작 워밍업으로 히치를 없앤 실제 방법을 정리했습니다.

read more →
2026-07-13

Vercel 배포했는데 옛날 페이지가 보인다면? Cloudflare 캐시의 함정

Vercel 배포가 성공했는데 일부 페이지만 예전 버전이 보이는 문제의 원인과 해결법. Cloudflare를 앞단에 둔 사이트의 s-maxage 캐시 동작을 실제 사례로 정리했습니다.

read more →
2026-07-11

iOS 앱에서 ATT 추적 동의창이 안 뜰 때 — 앱 active 대기 함정 (앱스토어 심사 리젝 해결기)

AdMob 앱을 올렸더니 '추적 동의(ATT) 창이 안 뜬다'며 앱스토어 심사에서 리젝됐습니다. 코드는 멀쩡한데 왜 안 뜰까요? 앱이 foreground active 되기 전에 요청해서 iOS가 조용히 무시하는 함정과, 짧은 대기 한 줄로 해결한 실제 방법을 정리했습니다.

read more →
2026-07-09

Flutter 앱이 화면 꺼져도 알림 울리게 하기 — zonedSchedule과 정확 알람 권한 함정

Timer 반복으로 만든 완료 알림이 백그라운드에서 안 울리는 이유와, zonedSchedule로 완료 시각에 미리 예약해 잠금화면에서도 정확히 울리게 만든 실제 방법을 정리했습니다. 안드로이드 정확 알람 권한 함정까지 다룹니다.

read more →
2026-07-07

앱스토어 업로드가 91169 에러로 거부될 때 (시뮬레이터 슬라이스 해결기)

Flutter 앱을 App Store에 올리다 91169 에러로 거부당했습니다. 시뮬레이터용 프레임워크가 딸려 들어간 원인과, 클린 재빌드 + otool로 확인해 해결한 과정을 직접 겪은 경험으로 정리했습니다.

read more →
2026-07-04

내 사이트 구글 유입이 0이 된 이유 — 다국어 URL 마이그레이션 실패 진단기

16개월간 구글 클릭 13회. 웹 도구 60개를 운영하는 사이트의 검색 유입이 증발한 원인을 서치콘솔 데이터로 추적해 보니, 범인은 다국어 도입 때 바꾼 URL 구조였습니다. 진단 과정과 복구 방법을 공유합니다.

read more →
2026-06-27

윈도우 11 부팅이 느릴 때 해결법 (체크리스트 5가지)

전원을 켜고 한참 기다려야 하는 윈도우 11 부팅 속도를 되살리는 방법을 정리했습니다. 시작 프로그램 정리부터 SSD까지 순서대로 점검해 보세요.

read more →
2026-06-25

iCloud 폴더에 둔 Git 저장소가 자꾸 깨질 때 (맥 2대 동기화 해결기)

iCloud Drive에 둔 깃 저장소가 index.lock 충돌로 깨지는 이유와, 맥 두 대에서 안전하게 쓰는 법(git-dir 분리 + 공통 경로)을 직접 겪은 경험으로 정리했습니다.

read more →
2026-06-20

프린터가 인식 안 될 때 해결법 (USB·와이파이 체크리스트)

프린터가 갑자기 인식되지 않을 때 순서대로 확인하면 대부분 해결됩니다. 연결·기본 프린터·스풀러·드라이버까지 체크리스트로 정리했습니다.

read more →
2026-06-15

아이폰 배터리가 갑자기 빨리 닳을 때 점검 8가지

어제까지 멀쩡하던 아이폰 배터리가 급격히 닳는다면? 원인을 찾아 잡는 체크리스트 8가지를 순서대로 정리했습니다.

read more →
2026-06-04

맥북이 외장 모니터를 인식하지 못할 때 체크리스트 8가지

맥북에 모니터를 연결했는데 화면이 안 뜰 때, 복잡한 수리 전에 직접 확인해 볼 수 있는 체크리스트를 순서대로 정리했습니다.

read more →
2026-05-29

맥 저장공간 부족? 용량 확보하는 7가지 방법

맥 저장공간이 꽉 찼을 때, 안전하게 용량을 비우는 방법을 효과 큰 순서로 정리했습니다.

read more →