본문 바로가기
기술과 미디어/IT

아이폰 '건강' 앱에서 취침 시간이 과도하게 측정되는 경우(미해결)

by 김고기 님 2024. 3. 4.

0. 개요 및 요약

 

iOS 13 이상의 버전을 사용하고 미 밴드 5 이후의 제품을 사용하여 수면 측정 시, 아이폰 '건강' 앱의 취침 시간(TIME IN BED)이 16시간 이상, 심지어는 24시간까지로도 기록되는 경우가 있다.

 

이는 애플이 '건강' 앱에서 직접 수면 측정을 지원하며 발생한 버그로, 샤오미 계열 수면 측정 도구가 '건강' 앱과 데이터를 동기화하는 과정에서 발생하는 것으로 추정된다. 이 문제에 대한 한국어 자료는 전무하며, 영어·중국어 자료도 제한적으로만 발견된다. 그러나 미 밴드 사용자가 보통 '건강' 앱이 아닌 'Mi Fit' 앱으로 수면을 기록한다는 점을 고려하면 실제 피해자는 훨씬 많을 듯하다. 인터넷에서 발견되는 모든 대응법은 효과가 일시적이거나, 없다.

 

 

<목차>


  1. 상황
  2. 알려진 원인과 해결 방법(효과 없음)
  3. 해결의 실마리
  4. 바깥 이야기

 

1. 상황

 

아이폰의 '건강' 앱은 사용자의 수면을 취침 시간(TIME IN BED)와 수면 시간(TIME ASLEEP)으로 구분하여 추적·기록한다. 취침 시간은 수면을 위해 침대에 눕거나 그에 준하는 행동을 취하는 것, 수면 시간은 말 그대로 잠에 든 시간이다.

 

애플워치&#44; 수면 앱
<그림 1> 애플워치 '수면' 앱의 모습. (출처: 애플 공식 홈페이지)

 

애플은 수면 측정 기술이 불완전하고 정확하지 못하다는 판단에서인지 오랫동안 수면 측정을 기록과 분석이 아닌, 습관 관리 차원에서 접근했다. 애플워치도 watch OS 7에 접어들어서야 측정에 기반한 수면 추적을 지원했다.

 

이전까지 가장 대중적인 수면 측정은 서드 파티 앱이나 스마트밴드를 통한 방식이었다. 미 밴드와 핏빗이 대표적이다. 특히 미 밴드는 저렴한 가격과 높은 정확성으로 많은 사람들이 애용하고 있다.

 

그런데 2020년 8월경 미 밴드 사용자들 사이에서 수면 기록에 문제가 있다는 주장이 나타나기 시작한다. 정확하게는 'Mi Fit' 앱에 기록·분석된 내용에는 문제가 없지만, 공식 '건강' 앱에서는 취침 시간이 사실상 하루 종일(24시간)로 기록되는 것이다. 이 문제는 몇 달간 이어지다가 2021년에 접어들며 해결된 것처럼 보였다. 그런데 2021년 4월부터 언제 일어나든 오후 7시가 취침 종료 시간으로 기록되면서 하루 17시간 정도가 취침 시간으로 남기 시작했고, 이런 현상은 2023년 현재까지도 계속 이어지고 있다.

 

건강 앱의 취침 기록에 오류가 발생한 모습
<그림 2> '건강' 앱의 취침 기록에 오류가 발생한 모습. 2020년 말에는 평균 취침 시간이 1일(24시간)로 기록되고 있고, 2021년 중순부터는 18시간으로 기록되고 있다. 실제 취침 시간은 수면 시간과 유사한 수준이었다.

 

2. 알려진 원인과 해결 방법(효과 없음)

 

우선 이 문제는 오직 미 밴드를 사용하는 사람들에게 나타나는 현상이다. 애플워치나 핏빗, 또는 기타 제품으로 수면을 측정하는 사람들에게서 발생한 경우는 발견하지 못했다. 아래는 해외 포럼에서 제기되었던 추론과 해결법인데, 6개월에 거쳐 여러 제품과 경우의 수를 상정하여 직접 실험해본 결과 모두 효과가 없었다. 이하 내용은 오직 샤오미와 애플에 보고하기 위해 작성된 것으로, 만약 문제를 해결하기 위한 목적이라면 굳이 볼 필요가 없다. 다시 말하지만 이 문제는 아직 알려진 해결법이 없다.

 

(1) 'Mi Fit' 앱의 타임 존 설정으로 인해 발생하므로 시간대를 중국으로 맞춘다

 

'Mi Home' 계열의 제품들이 앱과 동기화하는 과정에서 타임 존 문제로 오류가 발생하는 경우가 많은데, 이에 착안한 해결법으로 추측된다. 당사자는 앱에서 기록된 시간을 자신의 시간대가 아니라 중국 시간으로 상정할 경우 얼추 비슷하다는 점에서 제시했었다. 그런데 기록된 시간이 실제로 일어난 시간과 관계 없이 항상 오후 7시(사례에 따라서는 6시나 6시 30분도 있음)인 점을 고려하면 신빙성이 낮다. 더불어 미국인과 스페인인과 한국인 모두 오후 7시로 기록되고 있다는 점을 고려하면 이는 잘못된 추론이다.

 

실제로 실험을 해보니 시간대를 바꾼 당일에는 올바르게 기록된 것처럼 보이지만, 이틀이 지나면 반드시 문제가 재발한다. 하루 정도 정상적으로 기록이 된 건 이 다음에 살펴볼 것처럼 재부팅, 재설치 효과일 뿐이며 타임 존과는 관련이 없다.

 

(2) 'Mi Fit' 앱에서 로그아웃하고 앱을 완전히 삭제한 뒤 재설치하면 해결된다

 

마찬가지로 당일 정도는 정상화된 것으로 보이지만 다음 날, 또는 그 다음 날에 반드시 문제가 재발한다.

 

(3) 'Mi Fit' 앱 대신 'Amazfit', 'Zepp', 'Xiaomi Wear Lite' 앱을 사용한다.

 

위에 제시된 앱은 모두 샤오미의 다른 스마트밴드, 또는 스마트워치를 위한 앱이다. 'Mi Fit'만큼은 아니지만 어느 정도 호환이 되므로 대체 앱을 사용하라는 처방이다.

 

앱 스토어에 게시된 Zepp의 모습
<그림 3> 앱 스토어에 게시된 'Zepp'의 모습. 샤오미의 스마트워치 '어메이즈핏'을 제어하기 위한 목적으로 사용된다.

 

결론부터 말하자면 'Zepp'(옛 'Amazfit')에서는 위의 경우처럼 하루, 최대 이틀 정도 문제가 해결된 것처럼 보이지만, 이후 다시 재발한다. 즉, 다른 사례처럼 단순한 재로그인 효과다. 'Xiaomi Wear Lite' 앱의 경우 재밌게도 취침 시간이 과도하게 기록되지 않는다. 다만 아예 기록이 안 된다. 이 점도 문제지만, 근본적으로 미 밴드의 기능을 온전하게 사용할 수 없다는 점에서 해결책이 되기는 어려울 것이다.

 

(4) 아이폰의 취침 추적과 미 밴드의 취침 추적이 중복으로 기록되어 발생하는 문제이므로 'iPhone으로 취침 시간 추적' 옵션을 끈다

 

그럴 듯한 추론이지만, 건강 앱의 데이터 소스에 접근해보면 'Mi Fit'이 취침 종료 시간으로 직접 오후 7시를 기록한 점을 확인할 수 있다. 애초에 '건강' 앱의 수면 추적은 우선순위에 따라 중복을 배제하므로 잘못된 접근이다. 실제로 옵션을 켜고 한 달, 끄고 한 달 생활하며 관찰해봤는데, 동일하게 문제가 발생했다.

 

다만 별개로 아이폰을 통한 취침 추적은 정확도가 매우 낮아 기록을 오염시킬 가능성이 크기에(특히 수면 시간이 불규칙할수록) 수면을 추적할 다른 수단이 존재한다면 끄는 것을 추천한다.

 

iPhone으로 취침 시간 추적 옵션
<그림 4> iPhone으로 취침 시간 추적 옵션. 해당 설정은 '수면' 앱 가장 아래 '옵션'에서 확인할 수 있다.

 

(5) 미 밴드의 펌웨어 등에 문제가 생긴 것이므로 밴드를 초기화하거나 새 밴드를 구입한다

 

초기화는 물론 새 밴드도 구입해봤으나, 효과가 없었다. 이런 점을 보면 해당 문제가 하드웨어 문제라기보다는 소프트웨어, 구체적으로는 'Mi Fit' 앱의 문제일 가능성이 높아 보인다.

 

3. 해결의 실마리

 

겉으로 보이는 문제의 직접적인 원인은 데이터 소스에 'Mi Fit'이 오후 7시 취침 종료를 직접 기록한다는 데 있다. 또 하나 중요한 포인트는 취침 후 1~2시간 정도 후에 해당 데이터가 기록된 것으로 나오는데, 즉 실제로 일어나기도 전에 이미 취침 종료 시간이 오후 7시로 결정되어버린다는 것이다.

 

Mi Fit이 취침 시간으로 16시간을 직접 기록한 모습
<그림 5> 'Mi Fit'이 취침 시간으로 16시간을 직접 기록한 모습. 이 문제의 가장 직접적인 원인에 해당한다.

 

8월부터 사례가 보고되는 것으로 보아(내 경우는 9월) 시기적으로 iOS 14 및 watchOS 7의 출시와 연관이 있어 보이지만, 반드시 iOS 14에 한정한 문제는 아니다. 나는 안정성을 극단적으로 중요하게 생각해서 OS 업데이트를 최대한 늦춘다. 제기된 사례는 대부분 iOS 14와 그 이후 버전을 지적하지만, 나는 iOS 13에서부터 이 문제를 겪었다. 따라서 OS 버전보다는 애플워치를 통한 수면 측정을 지원하는 과정에서 이루어진 '건강' 앱의 업데이트가 더 의심스럽다.


해당 문제는 핏빗이나 애플워치 등 다른 장비에서는 발견되지 않는다. 해외 포럼에서는 'Mi Fit'이 '건강' 앱과 데이터를 싱크하는 과정에서 발생하는 오류로 추정하던데, 이 부분은 의심의 여지가 없는 사실로 보인다.

 

4. 바깥 이야기

 

2021년 상반기, 이 문제를 처음 인지하고 나서 해결하고자 한참을 연구했지만 답을 찾을 수 없었다. 한동안 방치하고 경과를 지켜보다 애플워치를 구매하고나서 몇 가지 실험을 반복하며 해당 문제가 'Mi Fit'에서 '건강'으로 데이터가 싱크될 때의 문제임을 확신할 수 있었다. 위 보고와 더불어 몇 가지 데이터셋을 애플과 샤오미에 직접 전달할 예정이다. (물론 쉽게 고쳐질 거란 기대는 되지 않는다. 과거 iOS 10의 가사 버그도 재현까지 해서 보냈음에도 고쳐지는데 2년이 넘게 걸렸다.)

 

다만 아쉬운 점은 해당 문제가 어떤 경우에 어떻게 발생하는 문제인지 재현하는 데에는 실패했다는 것이다. 미 밴드든 애플워치든 수면 측정을 오랜 기간 유의미하게 지속하는 사람이 많지 않기도 했고, 무엇보다 미 밴드를 쓰는 사람이 굳이 수면 기록을 '건강' 앱으로 확인할 필요가 없기 때문이다. 사실 나조차도 애플워치를 구매하지 않았다면 이 문제를 계속 방치했을 것 같으니 말이다.

 

혹시나 나중에라도 이 글을 보게 되는 미 밴드 사용자가 있다면, 'Mi Fit' 앱이 아니라 '건강' 앱에서 취침 시간이 정확하게 기록되고 있는지 확인과 댓글을 부탁드린다. 사례가 많이 모일수록 해결도 쉬워질 테다. 추가되거나 새롭게 전해지는 정보가 있다면, 이 글 역시 그에 맞춰 바로 갱신할 것이다.

 

 

※ 이 글은 2022년 1월 이글루스 블로그에 게시한 글에 갱신된 사실을 반영하고, 새로운 편집을 더해 재게시한 것입니다.

 

 

/lettered

댓글