← 전체 글

스크린타임 숫자가 앱이랑 안 맞아요, 어느 쪽이 맞는 건가요?

두 앱이 각자 정직하게 사용량을 알려주면서도 30분씩 어긋날 수 있어요. Apple은 iOS가 기기 안에 남기는 원본 사용 기록으로 스크린 타임 리포트를 만들어요. 서드파티 앱은 그 기록을 읽을 수 없어요. iOS는 차단 앱에게 사용량 임계값을 넘었다는 사실만 알려줄 뿐, 누가 넘었는지도 지금까지의 누적도 알려주지 않아요. 그래서 모든 서드파티 숫자는 재구성이에요. 여기에 백그라운드 재생, 합쳐진 기기, 반영 지연이 더해지면 두 숫자는 서로 다른 질문에 대해 각각 맞는 답이 돼요.

스크린 타임 옵션이 열려 있는 아이폰 설정 화면

스크린타임 앱은 왜 Apple 숫자를 그냥 읽어오지 못하나요?

Apple이 일부러 불가능하게 만들어놨기 때문이고, 이유는 개인정보 보호예요.

제한할 앱을 고를 때 내가 누르는 선택 화면은 iOS가 직접 그려요. 그 주변의 앱은 테두리만 그리고 나머지는 아무것도 안 해요. 돌아오는 건 불투명 토큰 묶음이에요. 그중 하나가 인스타그램이라는 걸 끝까지 모른 채로 ‘이것들을 차단해’라고만 말할 수 있게 해주는 의미 없는 손잡이들이죠. 토큰을 이름이나 아이콘이나 앱별 분 수로 바꿔주는 호출은 존재하지 않아요.

이건 Apple의 FamilyControls와 DeviceActivity 프레임워크의 구조적 속성이지, 앱이 몰래 어길 수 있는 정책이 아니에요. 그리고 이 말은 차단 앱이 Apple의 그래프를 절대 재현할 수 없다는 뜻이기도 해요. Apple의 데이터를 애초에 본 적이 없으니까요. 차단 앱은 나를 측정하지 않아요. iOS에게 뭔가를 알려달라고 부탁할 뿐이에요.

임계값을 넘는다는 게 정확히 무슨 뜻인가요?

DeviceActivity는 스톱워치가 아니라 초인종처럼 작동해요. 앱은 구간(보통 하루)을 하나 등록하고, 그 안에 이벤트를 하나 이상 걸어둬요. 각각은 사실상 이런 말이에요. 선택된 앱들이 이 구간 안에서 이만큼 쌓이면 나를 깨워줘. iOS가 지켜보다가 어느 시점에 콜백을 보내요. 임계값 넘었음.

그 콜백이 신호의 전부예요. 분 단위 스트림도, 앱별 분리도, 내가 뭘 언제 열었는지에 대한 타임스탬프도 없어요.

그래서 서드파티 앱의 해상도는 자기가 건 가장 작은 임계값의 크기예요. 차단 앱이 23분이라고 보여줄 때, 그 앱이 진짜로 근거를 댈 수 있는 건 하나의 표시를 지났고 다음 표시에는 아직 안 닿았으며 그 이후로 벽시계 시간이 이만큼 흘렀다에 가까워요. 예산을 굴리는 데는 쓸모 있어요. 계측값은 아니고, 어떤 엔지니어링으로도 계측값이 되지 않아요.

앱을 닫았는데 왜 카운트가 초기화되지 않나요?

iOS가 한 번의 사용이 아니라 구간 단위 누적으로 세기 때문이에요.

앱을 닫고 폰을 한 시간 책상에 두었다가 다시 열면, 카운터는 멈춘 지점에서 이어서 가요. 이 API에는 ‘한 번의 사용’이라는 개념 자체가 없어요. 구간이 끝날 때까지 차오르는 양동이가 하나 있고, 구간이 끝나면 비워져요.

꼼꼼하게 만든 앱들이 1회 제한을 ‘이번 한 번’이 아니라 예산 중 한 덩어리라고 표현하는 이유예요. 나는 누적 총량에서 1회분 크기의 덩어리를 소모하고, 그 덩어리가 사라지면 한동안 차단이 올라가요. 동작은 정확해요. 다들 자연스럽게 손이 가는 단어들, 세션이니 한 번이니 이번에니 하는 표현이 그 아래 기계와 안 맞을 뿐이에요.

백그라운드 재생도 총합에 들어가나요?

아주 자주요. 그리고 사람들이 믿기 힘들어하는 총합의 대부분이 이걸로 설명돼요. 화면을 끄고 주머니에 넣은 채 팟캐스트나 음악 앱을 틀어두면 이동 시간 내내 그 앱 앞으로 기록이 쌓일 수 있어요. 두 시간 운전이 두 시간 엔터테인먼트가 되는 거죠. Apple 자체 리포트에도 이게 포함되니까 서드파티 앱이 틀린 게 아니에요. 이 기기에서 사용량을 세는 방식 자체의 공통 성질이에요.

네 시간을 스크롤했다고 결론 내리기 전에, 설정에서 카테고리별 내역을 열고 운전하거나 걷거나 자고 있던 구간을 빼보세요. 큰 총합 중 진짜로 주의를 쓴 시간이 얼마인지는 생각보다 작은 경우가 많아요.

폰을 만지지도 않았는데 왜 총합이 늘어나나요?

모든 기기에서 공유 때문이에요. 설정 앱의 스크린 타임 안에는, 같은 Apple 계정으로 로그인한 모든 기기를 하나의 리포트로 합치는 스위치가 있어요. 아이패드에서 한 시간 Safari를 쓴 게 폰과 같은 총합에 들어가요.

반면 내 iPhone에 깔린 차단 앱은 지금 손에 든 폰에만 반응해요. Apple은 기기 세 대를 세고 있는데 앱은 한 대를 세고 있을 수 있고, 그 차이가 정확히 아이패드에서 보낸 시간이에요. 스크린 타임의 어떤 항목보다 이 토글 하나가 혼란스러운 문의를 많이 만들어내요.

오늘 숫자는 왜 계속 바뀌나요?

어느 숫자도 실시간이 아니기 때문이에요. Apple 자체 숫자도 하루 동안 갱신되다가 밤사이 자리를 잡아요. 오늘 아침의 진행 중 총합을 지난주의 완료된 총합과 비교하면 늘 이상해 보이는 이유죠. DeviceActivity 콜백은 메트로놈처럼이 아니라 iOS가 확장을 깨우기로 결정할 때 도착해요. 보통은 금방이지만, 폰이 저전력 모드거나 차갑거나 시스템이 더 급하다고 판단한 일을 하고 있으면 늦기도 해요. 위젯은 그 위에 다시 시스템이 관리하는 자기 갱신 주기로 새로고침되고요.

같은 1분 안에 위젯과 앱과 설정을 확인하면 세 개의 다른 숫자를 볼 수 있어요. 내일이면 서로 수렴해 있을 거예요.

실시간 카운트다운이 보이는 iPhone 잠금 화면 위 Unscrol

어떤 질문에 어떤 숫자를 믿어야 하나요?

질문볼 숫자이유
나는 실제로 폰을 얼마나 하나?설정의 Apple 주간 평균원본 사용 기록을 읽음
어떤 앱이 시간을 가져가나?Apple의 앱별 내역차단 앱은 불투명 토큰만 봄
지난달보다 줄었나?Apple 주간 평균, 달 대 달하루치는 못 견디는 노이즈를 추세는 견딤
잠기기까지 예산이 얼마 남았나?차단 앱의 카운터차단을 발동시키는 임계값의 주인
오늘이 연속 기록에 들어갔나?차단 앱Apple은 내 규칙을 추적하지 않음
방금 그거 정확히 23분이었나?어느 쪽도 아님iOS에서 그 질문에 답하는 건 없음

표 아래에 깔린 규칙은 이거예요. 아는 데는 Apple의 리포트를, 결정하는 데는 차단 앱을 쓰세요. 하나는 끝나고 나서 읽는 기록판이고, 다른 하나는 경기가 진행되는 동안 개입하는 조속기예요.

“차단 앱은 26분이라고 하고 설정은 58분이라고 하길래, 진짜로 고장 난 걸 샀나 싶었어요. 그러다 출근길에 운전하면서 틀어둔 팟캐스트가 떠올랐고, 아이패드가 같은 리포트를 공유하고 있다는 것도 생각났어요. 두 숫자 다 멀쩡했어요. 서로 다른 질문에 답하고 있었는데, 저는 한쪽 질문만 해본 거였죠.” — 정민우, 물류 운영 담당, 38

그럼 차단 앱 숫자는 쓸모없는 건가요?

아니요. 그리고 여기서 다들 순서를 거꾸로 알고 있어요. 차단 앱이 유일하게 추정하지 않는 것이 바로 강제예요. 임계값을 넘는 순간 iOS가 차단을 걸고, 그 사건은 정확하고 시스템 수준이에요. 물렁한 건 중간에 예쁘게 표시되는 숫자예요. 진행 중 총합, 위젯의 카운트, 남은 분 같은 것들요. 그건 연료계고, 몇 퍼센트 어긋난 연료계로도 주유소까지는 가요. 엔진이 멈추는 순간에 대해 따지는 사람은 없어요.

그러니 뭘 두고 화를 내야 하는지도 정해져요. 설정과 어긋나는 그래프는 예상된 일이에요. 예산을 다 썼는데 차단이 안 올라오는 건 진짜 결함이고요.

그리고 내가 실제로 필요한 정밀도가 얼마인지도 알려줘요. 원하는 것보다 훨씬 적어요. 3시간 40분과 4시간 10분의 차이는 아무것도 결정하지 않아요. 몇 주에 걸친 방향과, 그 시간이 무엇을 밀어냈는지가 진짜 질문이에요. 정확한 숫자를 쫓는 건 보통 더 어려운 질문, 그러니까 그 시간에 차라리 뭘 하고 싶었느냐는 질문의 편안한 대체재예요.

Unscrol은 어떻게 도와주나요?

정직한 부분 먼저요. Apple의 스크린 타임은 무료이고, 이미 내 iPhone에 있고, 어디에도 없는 가장 정확한 사용 기록이에요. 시간이 어디로 가는지가 궁금한 거라면 설정을 열고 이 글은 그만 읽어도 돼요. 앱 시간 제한과 다운타임도 무료고, 많은 사람에게는 다운타임 시간대 하나가 답 전체예요.

Unscrol은 아는 것만으로 아무것도 바뀌지 않은 경우를 위한 앱이에요. 같은 스크린 타임 프레임워크 위에 만든 iPhone·Apple Watch 앱이라, 차단은 밀어서 넘기는 덧씌운 화면이 아니라 iOS가 직접 걸어요. 핵심은 내가 고르는 두 숫자예요. 하루 총량(기본 45분)과 1회 최대(기본 5분)요. 총량에서 1회분만큼 쓰면 선택한 앱이 15분 잠겨요. 하루 총량을 다 쓰면 내일까지 잠기고요. 예산 안에서 하루를 마칠 때마다 연속 기록이 쌓여요.

위에서 말한 전부가, 이 앱이 저렇게 말하는 이유예요. 사용량은 넘어선 임계값에서 나오고 iOS는 구간 단위 누적으로 세니까, Unscrol은 한 번의 사용을 초 단위로 재는 척하지 않고 예산 중 한 덩어리라고 말해요. 그리고 28종의 위젯은 남은 하루 예산을 실시간이 아니라 시스템의 갱신 주기에 맞춰 보여줘요. 개인정보 입장도 약속이 아니라 구조예요. iOS가 불투명 토큰을 넘기기 때문에, 앱은 내가 어떤 앱을 골랐는지, 그 이름도 아이콘도 앱별 사용량도 절대 볼 수 없고, 그중 무엇도 Unscrol 서버에 닿지 않아요.

두 숫자 주변에는 시간대별로 예약하는 실드가 있어요. 사용 중에 끄는 절차는 일부러 느리게 만들어놨어요. 호흡 운동 한 번과 대기 시간이지, 한 번 탭으로 넘기는 버튼이 아니에요. 여기에 1분짜리 마음 쉼표 돌아보기와 117개 정도의 챌린지가 붙어요. 다운로드는 무료이고 챌린지는 한 번에 하나씩 추적할 수 있어요. 프리미엄은 연속 기록 보험과 슬롯 다섯 개를 더해주고요. 이 앱은 숫자를 두고 나를 혼내지 않아요. 벽을 하나 세우고, 결정은 나에게 돌려줘요.

자주 묻는 질문

제가 쓰는 스크린타임 앱이 왜 Apple 숫자랑 다르게 나오나요?

서로 다른 걸 재고 있기 때문이에요. Apple은 iOS가 기기 안에 남기는 원본 사용 기록으로 리포트를 만들어요. 모든 앱, 모든 분에 접근할 수 있죠. 서드파티 앱은 그 기록을 절대 못 봐요. iOS는 불투명 토큰을 넘기고, 사용량 임계값을 넘었다는 사실만 알려줘요. 예를 들면 선택한 앱들이 이번 구간에서 5분을 채웠다는 신호요. 앱은 그 신호들로 총합을 역산해요. 여기에 백그라운드 재생, ‘모든 기기에서 공유’로 합쳐진 기기들, 반영 지연까지 더해지면 두 숫자가 수십 분 차이 나면서도 둘 다 맞을 수 있어요.

아이폰에서 서드파티 스크린타임 앱은 얼마나 정확한가요?

직접 통제하는 부분에는 정확하고, 화면에 보여주는 부분에는 대략적이에요. Apple의 FamilyControls와 DeviceActivity 프레임워크는 개인정보 보호를 위해 앱의 정체와 초 단위 총합을 서드파티에 일부러 넘기지 않아요. 그래서 차단 앱은 임계값을 넘었다는 건 알아도 실시간 카운트는 들고 있지 않아요. 제한을 확실하게 강제하기에는 충분해요. 넘는 순간 차단을 거는 건 iOS 자신이니까요. 다만 정밀한 사용 리포트를 낼 정도는 아니에요. 차단 앱의 분은 연료계로, Apple 설정의 리포트는 계측값으로 읽으세요.

백그라운드로 음악이 재생돼도 스크린타임에 잡히나요?

잡히는 경우가 많고, 총합이 말이 안 돼 보이는 가장 흔한 이유예요. 화면을 끄고 주머니에 넣은 채 팟캐스트나 음악 앱을 틀어두면, 출퇴근 시간 내내 그 앱 앞으로 기록이 쌓일 수 있어요. 많은 사람의 엔터테인먼트 카테고리가 몰아보기가 아니라 이동 시간인 이유예요. Apple 자체 리포트에도 이게 포함되니까 서드파티 앱의 버그가 아니에요. 큰 숫자에 반응하기 전에 설정에서 카테고리별 내역을 열고, 운전하거나 걷거나 요리하거나 자고 있던 구간을 머릿속으로 빼보세요.

그래서 어느 스크린타임 숫자를 믿어야 하나요?

아는 데는 Apple의 설정 리포트를, 결정하는 데는 차단 앱의 카운터를 쓰세요. 시간을 얼마나 쓰고 어디로 가는지가 궁금하다면 Apple의 주간 하루 평균과 앱별 내역이 그 기기에 있는 최선의 데이터고, 이번 달 주간 평균을 지난달과 비교하는 게 하루치를 들여다보는 것보다 훨씬 의미 있어요. 앱이 잠기기까지 예산이 얼마나 남았는지가 궁금하다면 차단 앱의 숫자가 실제로 지배하는 값이에요. iOS에서는 Apple 것을 포함해 어떤 숫자도 분 단위로 정확하게 읽으면 안 돼요.