위젯

MiniCycle 위젯이 안 바뀔 때, 새로 고침은 어떻게 되나요

홈 화면 위젯은 방금 앱에서 한 일보다 한 박자 늦을 때가 있습니다. 대개 앱이 고장 난 게 아니라 iOS가 원래 그렇게 동작하는 거예요. MiniCycle 위젯은 앱이 건네준 타임라인을 시스템이 정한 시점에 다시 그립니다. 무엇이 위젯을 실제로 움직이는지 알고 나면, 오래돼 보이는 위젯이 더는 수수께끼가 아니고 해결도 대개 탭 한 번입니다.

MiniCycle 아이폰 실제 캡처 화면: 생리 캘린더와 위젯 경험

위젯은 실시간이 아니라 iOS 일정에 맞춰 바뀝니다

홈 화면 위젯은 무언가 바뀔 때마다 그 자리에서 다시 그려지는 화면이 아닙니다. 앱이 iOS에 건네준 타임라인을 iOS가 정한 시점에 다시 그리는 방식이에요. 배터리를 아끼려고 시스템이 갱신 횟수를 제한하기 때문에, 방금 바꾼 내용이 몇 분, 때로는 그보다 늦게 반영됩니다. WidgetKit이 원래 이렇게 동작합니다.

흔한 오해는 그 반대입니다. 생리를 기록하면 위젯이 곧바로 새 상태로 뒤집힐 거라고 생각하기 쉬워요. 대개 그 자리에서 뒤집히지 않습니다. 기록은 저장됐고, 홈 화면 그림은 시스템이 다음번 갱신할 때 따라옵니다.

MiniCycle 위젯을 움직이는 두 가지

하나는 앱 열기입니다. MiniCycle은 앱을 열 때마다 위젯을 새로 고쳐 달라고 iOS에 요청합니다. 그래서 방금 기록한 생리는 홈 화면으로 돌아오면 곧 위젯에 나타나요. 지금 바로 최신 상태로 보고 싶을 때는 앱을 다시 여는 게 가장 확실합니다.

다른 하나는 하루 한 번 갱신입니다. 위젯은 다음 날이 시작되는 시점에 스스로 다시 그리도록 예약돼 있어서, 앱을 열지 않는 날에도 아침이면 빨간 오늘 표시와 D-숫자가 저절로 하루 넘어갑니다.

한 박자 늦어 보이는 이유

시스템이 위젯 갱신을 모아서 처리하다 보니, 바꾼 내용이 그 즉시 보이지 않을 수 있습니다. 시작일을 기록하고 반초 뒤 위젯을 봤는데 어제 상태 그대로여도, 기록이 사라진 게 아니라 아직 안 그려진 것뿐이에요. 날짜는 앱이 갖고 있고, MiniCycle을 다시 열면 밖으로 밀려 나갑니다.

위젯은 앱이 써 둔 작은 공유 저장소를 읽습니다. 그래서 앱이 마지막에 저장한 상태까지만 보여줄 수 있어요. 앱 캘린더와 위젯이 다르면 위젯이 예전 상태를 보여주는 중이고, 앱을 한 번 거치면 다시 맞춰집니다.

비어 있거나 오래돼 보일 때, 확인 순서

순서대로 봅니다. 먼저 MiniCycle을 한 번 열었다 홈 화면으로 나오세요. 위젯 타임라인이 새로 밀려 나갑니다. 다음으로 생리 시작일을 한 번이라도 기록했는지 확인합니다. 시작일이 없으면 예측할 게 없어 기록을 시작하라는 화면이 뜨는데, 이 빈 모습은 오류가 아니라 정상이에요.

크기도 봅니다. MiniCycle 위젯은 작은 사각형 하나만 제공해서, 중간이나 큰 위젯을 찾고 있었다면 목록에 없는 게 당연합니다. 위젯이 멈춘 것 같으면 지웠다가 다시 추가해 보세요. 새로 얹은 위젯은 타임라인을 새로 받아 옵니다. 저전력 모드이거나 폰이 바쁠 때도 갱신이 밀릴 수 있는데, 대개 스스로 따라잡습니다.

하루 어긋나 보이면 대개 설정 문제입니다

위젯의 요일 줄이나 강조된 날짜가 앱과 어긋나 보이면 두 가지 설정을 확인하세요. 주 시작 요일(일요일 또는 월요일)과 앱 언어입니다. 위젯은 이 둘을 앱과 같은 곳에서 읽어 오기 때문에, 저장해 두면 두 화면이 맞습니다.

날짜 계산 자체도 앱과 위젯이 같은 방식을 씁니다. 최근 시작일로 낸 중앙값 기반 예정일, 기록이 적을 때의 29일 기본값, 추정 배란일 5일 전부터 다음 날까지의 가임기까지 똑같아요. 그래서 위젯이 앱과 다른 예측을 내놓는 일은 없습니다.

위젯이 백그라운드에서도 갱신되나요

네, 다만 실시간이 아니라 정해진 일정으로요. 자정을 지나면서 날짜가 넘어가기 때문에 오늘 표시와 D-숫자는 밤사이 저절로 이동합니다. 그 밖에는 iOS가 배터리 예산 안에서 위젯을 다시 불러오고, 앱을 마지막으로 열었을 때 MiniCycle이 요청해 둔 새로 고침을 함께 반영하기도 합니다.

매분 확인하는 방식은 아닙니다. 다른 날 기록한 생리나 앱이 닫힌 사이 생긴 변화는 앱을 한 번 열거나 다음 예약 갱신을 기다려야 보입니다. 저전력 모드이거나 폰이 바쁠 때는 이 시점이 더 늦어질 수 있고, 상황이 풀리면 대개 따라잡습니다.

앱과 위젯은 같은 곳을 읽습니다

위젯은 자기만의 데이터 사본을 따로 굴리지 않습니다. 앱이 기기 안 공유 저장 공간에 저장한 기록과 설정을 그대로 읽어서 지금 상태를 다시 계산해요. 두 화면이 어긋나지 않는 이유이고, 위젯이 앱이 마지막에 써 둔 것 이상을 보여줄 수 없는 이유이기도 합니다. 필요한 기록이 이미 폰 안에 있으니 계정도, 인터넷도 없이 동작합니다.

자주 묻는 것

생리를 기록했는데 위젯이 예전 상태예요. 기록은 앱에 저장됐고 위젯이 아직 안 그려진 것뿐입니다. 시스템의 다음 예약 갱신을 기다리기보다, MiniCycle을 열었다 홈 화면으로 나오면 새 상태가 밀려 나갑니다.

위젯이 비어 있고 기록을 시작하라고 나와요. 생리 시작일을 한 번이라도 넣기 전까지 나오는 기본 화면입니다. 앱에서 시작일을 기록하면 다음 갱신 때 채워집니다.

큰 MiniCycle 위젯이 안 보여요. MiniCycle은 작은 사각형만 제공해서 중간·큰 크기는 목록에 나오지 않습니다. 추가할 때 작은 크기를 고르세요.

위젯 날짜가 하루 어긋나 보여요. 주 시작 요일과 앱 언어 설정을 확인하세요. 위젯이 앱과 공유하는 값이라 저장하면 맞춰집니다. 예측 자체는 두 화면이 같습니다.

위젯에 계정이나 인터넷이 필요한가요. 아니요. 기기에 저장된 기록을 읽어서 인터넷 없이, 계정 없이 동작합니다.

위젯은 무엇을 위한 화면인가

위젯은 예측을 빠르게 확인하는 화면이지 실시간 의료 모니터가 아닙니다. 여기 뜨는 날짜는 내 기록으로 계산한 참고 정보예요. 일정을 짜는 데는 쓸모 있지만 피임이나 임신 테스트, 진단이 아닙니다. 날짜를 기록하거나 고칠 일, 메모나 성생활 표시처럼 민감한 부분은 앱을 열어서 하고, 홈 화면은 흘깃 보는 자리로 두면 됩니다.

MiniCycle은 깔끔한 아이폰 생리 캘린더, 로컬 기록, 간단한 통계, 홈 화면 위젯을 위해 만들었습니다.

App Store에서 받기

참고 자료