홈 · 블로그 · 개발 일지

제 폰에서는 되는데요 — 어떤 사람만 로그인이 안 되던 문제

개발 일지 · 2026.10.02

운영 중인 앱에서 제보가 들어왔습니다. 구글로 로그인하면 계정을 고른 뒤에도 로그인 화면에 그대로 멈춰 있다는 것이었습니다. 오류 문구도 없고, 그냥 아무 일도 안 일어난다고 했습니다.

바로 확인해 봤는데 저희 폰에서는 잘 됐습니다. 다른 폰에서도 잘 됐습니다. 같은 앱, 같은 버전입니다. 개발하는 사람이 가장 하기 싫은 말이 입에서 나오려고 했습니다. "제 폰에서는 되는데요."

재현이 안 되면 고칠 수가 없습니다

오류는 눈앞에서 다시 일어나야 고칠 수 있습니다. 안 일어나는 걸 고쳤다고 말할 수는 없으니까요. 그래서 먼저 한 일은 제보하신 분들의 공통점을 찾는 것이었습니다. 기종도 달랐고 통신사도 달랐습니다. 한 가지 눈에 띈 건, 카카오나 네이버 로그인은 같은 폰에서 멀쩡하다는 점이었습니다. 구글만 안 됐습니다.

그 차이에서 실마리가 나왔습니다. 카카오와 네이버는 로그인 페이지로 갔다가 결과를 들고 돌아오는 방식이었고, 구글은 폰의 계정 선택 창을 띄운 뒤 결과를 앱 안으로 전달받는 방식이었습니다.

원인은 폰의 메모리였습니다

계정 선택 창이 뜨는 동안 원래 앱은 잠깐 뒤로 물러납니다. 이때 폰에 여유 메모리가 부족하면, 폰은 뒤로 물러난 화면을 조용히 정리해 버립니다. 사용자가 계정을 고르고 돌아오면 앱은 화면을 처음부터 다시 그립니다.

문제는 그 순간입니다. 로그인 결과는 제대로 도착했는데, 그 결과를 기다리던 화면은 이미 사라지고 새 화면이 떠 있습니다. 새 화면은 자기가 로그인 도중이었다는 걸 모릅니다. 결과는 받을 사람 없이 버려지고, 사용자는 다시 로그인 화면을 봅니다.

같은 앱인데 어떤 사람만 안 된 이유는 앱이 아니라, 그 순간 그 폰에 남아 있던 메모리였습니다.

개발에 쓰는 폰은 대개 앱을 몇 개 안 띄워 둡니다. 메모리가 넉넉하니 화면이 정리될 일이 없고, 그래서 한 번도 재현되지 않았던 것입니다. 실제 사용자의 폰에는 메신저와 영상 앱과 게임이 같이 떠 있습니다.

일부러 같은 상황을 만들기

안드로이드 폰에는 개발자용 설정 가운데, 화면이 뒤로 가는 즉시 정리해 버리게 하는 항목이 있습니다. 이걸 켜니 저희 폰에서도 매번 똑같이 멈췄습니다. 그제야 고칠 수 있는 문제가 됐습니다.

고친 방법은 두 가지입니다. 로그인 결과를 받는 곳을 특정 화면이 아니라 앱이 뜨는 순간부터 살아 있는 자리로 옮겼습니다. 그리고 로그인을 시작할 때 "지금 로그인 중"이라는 표시를 남겨, 화면이 새로 그려져도 그 표시를 보고 하던 일을 이어서 끝내게 했습니다. 같은 설정을 켠 채로 수십 번 반복해 확인한 뒤에 배포했습니다.

이 일에서 남긴 것

"제 폰에서는 되는데요"는 사실을 말한 것이지만 답은 아닙니다. 사용자 폰에서 안 되면 안 되는 것입니다. 그 뒤로는 로그인이나 결제처럼 앱 밖으로 나갔다 돌아오는 기능은, 처음 만들 때부터 화면이 정리되는 상황을 켜 놓고 확인합니다.

눈에 보이는 화면을 만드는 일보다 이런 문제를 찾는 데 시간이 더 들 때가 있습니다. 견적서에 잘 드러나지 않는 부분이지만, 운영을 시작하고 나서 차이가 나는 곳이 대개 여기입니다.