Flutter로 안드로이드 앱을 개발하면서 Google Sign-In과 Firebase Authentication을 함께 사용하는 경우가 많다. 나 역시 Windows 환경에서 Antigravity IDE를 사용하여 Flutter 앱을 개발하고 있었고, 개발 중에는 Google 로그인이 정상적으로 동작했다. 하지만 앱을 Google Play Console의 내부 테스트 트랙에 배포한 후 테스트를 진행하자 예상치 못한 문제가 발생했다. Google Sign-in failed. GoogleSignInException( code: GoogleSignInExceptionCode.canceled, activity is cancelled by the user. ) 처음에는 정말 사용자가 로그인을 취소한 것처럼 보였다. 하지만 실제 원인은 전혀 다른 곳에 있었다. Debug에서는 정상인데 Release에서는 왜 실패할까? 개발 중에는 Antigravity에서 Debug 모드로 실행했기 때문에 모든 것이 정상적으로 동작했다. Google 계정을 선택하면 Firebase Authentication까지 문제없이 로그인되었다. 하지만 Release App Bundle(AAB)을 만들어 Google Play 내부 테스트에 업로드한 후 설치하면 Google 계정 선택 이후 바로 예외가 발생했다. 처음에는 Firebase 설정이나 코드의 문제라고 생각했지만, 실제 원인은 앱이 서명(Signing)되는 방식에 있었다. Google Sign-In은 SHA-1을 이용해 앱을 인증한다 Google Sign-In은 단순히 패키지 이름만 확인하는 것이 아니다. Android 앱은 다음 두 가지 정보를 이용해 인증된다. Package Name SHA-1 인증서 지문 Firebase Console에 Android 앱을 등록할 때 SHA-1을 입력하는 이유도 바로 이것이다. Debug 환경에서는 Debug Keystore의 SHA-1이 사용된다. Release APK를 직접 설치하면 Relea...
중년의 다리 근육, 왜 이렇게 중요한가요? 노화의 속도를 늦추고 건강한 삶을 유지하는 비결은 바로 하체에 있습니다. 탄탄한 하체를 만드는 실질적이고 과학적인 생활 습관 가이드로 제2의 전성기를 준비하세요. '중년이 되면 튼튼한 하체가 곧 건강이다'라는 말, 한 번쯤 들어보셨죠? 솔직히 저도 처음엔 '그냥 열심히 걷기만 하면 되는 거 아냐?'라고 생각했어요. 하지만 나이가 들면서 무릎이 시큰거리거나 계단을 오를 때 숨이 차는 경험을 해보니, 하체 건강이 단순히 근육의 문제가 아니라 삶의 질 전체를 결정한다는 것을 깨달았답니다. 하체 근육, 특히 허벅지의 근육은 우리 몸의 **에너지 저장소**이자 **균형의 중심축** 역할을 하는데요. 중년 이후에는 이 근육들이 급격히 감소하는 **근감소증(Sarcopenia)**이 찾아오기 때문에 더욱 관리가 중요해요. 이 포스팅에서는 중년이라면 반드시 실천해야 할 핵심 하체 건강 생활 습관을 쉽고 친근하게 알려드릴게요! 함께 탄탄하고 건강한 하체를 만들어봅시다! 😊 일상에서 실천하는 하체 근력 강화 3단계 🏋️♀️ 헬스장에 매일 갈 수 없다면, 일상에서 근육을 깨우는 작은 습관부터 시작하는 것이 중요해요. 작은 변화가 큰 차이를 만든다는 것, 진짜예요! 제가 가장 추천하는 세 가지 습관을 공유합니다. 엘리베이터 대신 계단 오르기: 계단 오르기는 하체 근육을 키우는 데 가장 효과적인 운동 중 하나예요. 특히 내려올 때보다 올라갈 때 **허벅지 근육(대퇴사두근)**과 **엉덩이 근육(둔근)**이 집중적으로 사용됩니다. 일주일에 3번 이상 시도해 보세요. '서서 일하기' 시간 늘리기: 앉아 있는 시간을 줄이는 것만으로도 ...