Problem z systemem Nie przeszkadzać może być związany ze sposobem zaprojektowania systemu

  Wszyscy to wiecie dla wielu użytkowników pierwszego dnia tego roku system Nie przeszkadzać w iOS nie działałi wczoraj ci to mówiłem będziemy mogli z niego ponownie skorzystać dopiero od 7 stycznia. Apple nie powiedział, dlaczego system przestał działać poprawnie, powiedział nam tylko, kiedy wszystko wróci do normy, ale te od Macworld mieć możliwe wyjaśnienie. Twierdzą, że sposób myślenia o kodzie źródłowym systemu generuje problem funkcjonowania pierwszego dnia roku kalendarzowego, a wszystko to ma związek ze sposobem ustalenia daty w systemie ISO.

Teraz do programistów, którzy wykonali dużo pracy z obsługą daty i godziny (tak jak ja; zarabiam na życie tworzeniem systemów lotów linii lotniczych, które wymagają dużej ilości obliczeń matematycznych dotyczących stref czasowych): „jest zepsuty mniej więcej w pierwszym tygodniu rok” natychmiast sugeruje umiarkowanie niejasny problem związany z dane ISO z tygodnia. Jest to nieco dziwna definicja roku, którą można uzyskać z wielu bibliotek do manipulacji danymi, określając, że rok ma być „RRRR”, a nie bardziej powszechnym „rrrr”.

Tak więc w roku 2012 daty 1–6 stycznia będą wyświetlane jako część roku 2012, jeśli programista w ciągu daty określi „RRRR”, a nie część roku 2013. Oznacza to, że gdy funkcja DND włączy się automatycznie, będzie mieć obliczoną datę wyłączenia przypadającą na rok 2012, czyli już w przeszłości, więc nigdy się nie wyłączy. Kiedyś popełniłem ten błąd w swoim kodzie, ponieważ bardzo łatwo jest wpisać „RRRR” zamiast „rrrr”; wygląda na to, że jakiś bezimienny inżynier Apple zrobił to samo w funkcji Nie przeszkadzać w iOS, ale tylko w czasie automatycznego wyłączania, a nie w części czasu włączenia. W moim przypadku problem został wykryty podczas testów automatycznych i nigdy nie został opublikowany. Inżynier Apple'a miał mniej szczęścia.

  Całe wyjaśnienie znajdziesz na Macworld, jeśli jesteś pewien, że je zrozumiesz i potrzebujesz go w jakikolwiek sposób.

AKTUALIZACJA: Macworld twierdzi, że ich wyjaśnienia są błędne, więc je zignoruj.