Chceš byť súčasťou blogu MacWeb.sk?

Napíš akýkoľvek článok (novinku, bleskovku, návod, review, recenziu) a pošli ho na info@macweb.sk!

Som si istý, že už ste mali možnosť zachytiť túto chybičku. “Nerušiť” (z ang. Do Not Disturb) – funkcia, ktorú Apple prvý krát pužil v systéme iOS 6, prestala korektne pracovať v utorok, s príchodom nového roka 2013. Utilita nemá problém s aktiváciou, no problém nastane pri jej deaktivácii. To znamená, že používateľ ju musí vypnúť manuálne alebo zmešká všetky notifikácie.

Apple sľúbil, že funkcia sa automaticky opraví siedmeho januára, ale prečo vlastne prestala fungovať? Zároveň sa možno pýtate, ako to, že začne správne fungovať na ďalší pondelok? Môže sa zdať, že Apple má problém so zvládaním dátumov a časov. Redaktor Richard Gaywood z portálu TUAW vykonal pár testov a možných vysvetlení. Zistil, že funkcia Do Not Disturb nezačne správne fungovať, kým neprejde prvým pondelkom roka. Pre vysvetlenie: ak by prvý deň v roku 2013 bol pondelok, nebol by to problém. Keďže rok 2013 sa začal utorkom, musíme počkať do ďalšieho pondelka, kým začne utilita Do Not Disturb správne pracovať.

iOS 6 Nerušiť

Dôvodom je jednoduchý problém kódovania vo firme Apple. V skratke, namiesto spresnenia roku ako “yyyy” je rok definovaný ako “YYYY”. Rozdiel ste si určite všimli – Apple použil pre definovanie roku kapitálky, ktoré sa používajú v ISO normách, namiesto malých písmen, používaných v Gregoriánskom kalendári. Niektorým sa to môže zdať ako zanedbateľný problém, no táto variácia má očividne za následok veľkú zmenu.

Gaywood vysvetľuje:

Je to mierne zvláštne vysvetlenie, ktoré vyplýva z mnohých tzv. “date manipulation libraries” (používajú sa na definovanie formátu dátumu), v ktorých chcete mať nastavenie roka ako “YYYY” namiesto bežnejšie používaného “yyyy“. Je to odvodené z normy ISO, ktorá definuje prvý týždeň v roku ako týždeň začínajúci pondelkom, obsahujúci prvý štvrtok v januári. Pod touto definíciou sa prvých pár dní v roku 2013 zapisujú ešte ako súčasť roka 2012. Rok 2013 sa nezačne do prvého pondelka, v tomto prípade siedmeho januára 2013. Je to niečo také, ako používajú účtovníci, aby udržali veci jasné. Zaujímavé je, že siedmy január je deň, kedy podľa vyjadrení Applu, tento problém zmizne.

Takže od 1. do 6. januára si funkcia Do Not Disturb stále myslí, že je rok 2012 – teda aspoň časť jej kódu si to myslí. Divné je, že časť, ktorá zodpovedá za aktiváciu funguje ako má, kým časť zodpovedná za jej deaktiváciu nefunguje správne.

Takže od nasledujúceho pondelka, 7. januára, táto utilita zaregistruje nový rok 2013 – to je deň, keď by mala začať fungovať správne. Zaujímavosťou je, že toto nie je prvý krát, kedy mal Apple problém s dátumami v iOS. V roku 2010, 2011 a opäť v roku 2012 sme zaregistrovali problém so zmenou na letný čas.

“Nebolo by vôbec nespravodlivé opísať reputáciu Applu v oblasti zmien dátumov a časov ako ‚veľmi biednu‘.”, konštatuje Gaywood.

7. januára sa v suvislosti vyššie uvedeným neobjavi žiadna akualizácia. Funkcia by mala začať pracovať korektne bez akejkoľvek opravy. Apple s najväčšou pravdepodobnosťou odstráni tento programátorský nedostatok v tichosti pri vydaní ďalšej aktualizácie systému iOS.

Zachytili ste aj vy tento problém? Podeľte sa s vašimi skúsenosťami v komentároch.

Tagged with →  
Share →