Älä häiritse -järjestelmän ongelma saattaa liittyä järjestelmän suunnitteluun

  Te kaikki tiedätte sen iOS:n Älä häiritse -järjestelmä ei toiminut monilla käyttäjillä tämän vuoden ensimmäisenä päivänä, ja eilen kerroin sen sinulle voimme käyttää sitä uudelleen vasta 7. tammikuuta alkaen. Apple ei kertonut, miksi järjestelmä lakkasi toimimasta kunnolla, se vain kertoi meille milloin kaikki palautuu normaaliksi, mutta ne Macworld on mahdollinen selitys. He väittävät, että tapa, jolla järjestelmän lähdekoodia ajateltiin, aiheuttaa toimintahäiriön kalenterivuoden ensimmäisenä päivänä, mikä kaikki liittyy tapaan, jolla päivämäärä asetettiin ISO-järjestelmän avulla.

Nyt ohjelmoijille, jotka ovat tehneet paljon työtä päivämäärän ja ajan käsittelyn parissa (kuten minä; kirjoitan lentoyhtiöiden lentojärjestelmiä elantoni vuoksi, jotka vaativat paljon raskasta aikavyöhykematematiikkaa), "se on rikki noin ensimmäisen viikon aikana vuosi" ehdottaa välittömästi kohtalaisen epämääräistä ongelmaa ISO-viikon tiedot. Tämä on hieman outo määritelmä vuodelle, jonka saat monista tietojenkäsittelykirjastoista määrittämällä, että haluat vuodeksi "YYYY" toisin kuin yleisemmässä "yyyy".

Joten vuodelle 2012 1.-6. tammikuuta näkyy osana vuotta 2012, jos kehittäjä määrittää "YYYY" päivämäärämerkkijonoonsa sen sijaan, että se olisi osa vuotta 2013. Tämä tarkoittaa, että kun DND kytkeytyy automaattisesti päälle, se laskettu sammutuspäivä on joskus vuonna 2012, mikä on nyt menneisyydessä, joten se ei koskaan sammu. Tein kerran tämän virheen omassa koodissani, koska on erittäin helppoa kirjoittaa "YYYY" "yyyy" sijaan; näyttää siltä, ​​että joku nimetön Applen insinööri on tehnyt saman iOS:n Älä häiritse -toiminnossa, mutta vain automaattisessa sammutusajassa, ei käynnistysajan osassa. Minun tapauksessani ongelma havaittiin automaattisessa testauksessa, eikä sitä koskaan julkaistu. Applen insinöörillä on ollut vähemmän onnea.

  Löydät koko selityksen Macworldistä, jos olet varma, että ymmärrät sen ja tarvitset sitä millään tavalla.

PÄIVITTÄÄ: Macworld väittää, että heidän selityksensä ovat vääriä, joten jätä ne huomiotta.