IOS

iOS je mobilní operační systém pro telefony iPhone společnosti Apple. Nejdříve byl jako iPhone OS vyvinut na základě macOS pro původní iPhone uvedený na trh v roce 2007, později byl upraven i pro další mobilní zařízení jako je multimediální přehrávač iPod touch a tablet iPad. Nyní jsou z něj odvozené samostatné operační systémy iPadOS pro iPady, tvOS pro mediální konzoli Apple TV a watchOS pro hodinky Apple Watch. Apple pravidelně každý rok vydává novou verzi svého operačního systému.

iOS je druhý nejrozšířenější mobilní systém (asi 14% podíl v roce 2017), jinak na chytrých telefonech dominuje Android společnosti Google. Na rozdíl od Androidu systém iOS není určen pro ostatní výrobce, lze jej instalovat pouze na výrobky Apple. Vyznačuje se také větší uzavřeností, například jej nelze přizpůsobit pomocí nástaveb nebo do něj instalovat jiné aplikace než schválené Applem a publikované v obchodě App Store. O prolomení těchto omezení usilují softwarové nástroje zvané jailbreak.

Název 
Pojmenování iOS se používá až od čtvrté verze tohoto systému. Do té doby byl oficiálně nazýván iPhone OS. Nový název iOS je v souladu s politikou pojmenovávání produktů (iPod, iPhone, iPad, …).
Ihned po zveřejnění nového názvu iOS byla na Apple podána žaloba od společnosti Cisco Systems, která název IOS používá pro označení softwaru na svých routerech. Aby zabránila žalobě, licencovala si společnost Apple použití tohoto názvu pro svá zařízení.

Hardware 
Hlavní hardwarovou platformou pro iOS je architektura ARM (ARMv7, ARMv8-A, ARMv8.2-A, ARMv8.3-A). Verzi iOS před iOS 7 byla možno spustit pouze na zařízeních iOS s 32bitovými procesory ARM (architektura ARMv6 a ARMv7-A). V roce 2013 byl vydán iOS 7 s plnou podporou 64 bitů (což zahrnuje 64bitový kernel, knihovny, ovladače a všechny vestavěné aplikace), po oznámení, že se Apple přechází na 64bitové procesory ARMv8-A s uvedením čipu Apple A7. Podpora 64 bitů byla vynucena též pro všechny aplikace v App Store, zaslané do 2. února 2015 a všechny aktualizace aplikací odeslané do App Store s termínem do 1. června 2015. iOS 11 zrušil podporu pro všechna zařízení iOS s 32bitovými procesory ARM a 32bitovými aplikacemi, čímž se stal pouze 64bitový.

Přehled verzí 
Legenda:

Historie verzí

Přenosná zařízení (iPhone, iPad, iPod) 
Legenda:

iPhone OS 1.x 
První verze dotykového operačního systému společnosti Apple. Při jeho počátečním vydání nebylo stanoveno žádné oficiální jméno. 6. března 2008 s vydáním iPhone software development kit (iPhone SDK), Apple oficiálně systém pojmenoval jako iPhone OS (Systém byl přejmenován na "iOS" 7. června 2010).

iPhone OS 2.x 
2.0, druhá hlavní verze iOS, vyšla 11. července 2008 s vydáním iPhonu 3G. Zařízení běžící na 1.x lze upgradovat na tuto verzi. Tato verze systému přináší App Store, takže aplikace třetích stran jsou k dispozici pro iPhone a iPod Touch.

iPhone OS 3.x 
3.0, třetí verze operačního systému iOS vyšla 17. června 2009. Tato verze přidává funkce jako je kopírování a vkládání a MMS. Všechny nové vlastnosti nejsou dostupné pro iPhone první generace. Zařízení běžící na 2.x lze upgradovat na tuto verzi.

iOS 4.x 

iOS 4 byl zpřístupněn veřejnosti pro iPhone a iPod Touch 21. června 2010 a je to první verze přejmenována jednoduše na "iOS". Toto je první verze iOS, která ukončuje podporu některým zařízením. Dále je to také první verze, za kterou uživatelé iPodů Touch nemusí platit.

iPhone 3G a iPod Touch (2. generace) mají omezené funkce, včetně nedostatečné možnosti multitaskingu a možnosti nastavit tapetu na domovské obrazovce, zatímco u iPhone 4, iPhone 3GS, iPod Touch (3. a 4. generace) jsou všechny funkce aktivovány. iPhone a iPod Touch (1. generace) nepodporují iOS 4.0 a vyšší.

iOS 4.2.1, vydaný 22. listopadu 2010, přidává podporu iPadu. Je to také poslední verze podporovaná iPhonem 3G a iPodem Touch (2. generace).

iOS 5.x 
iOS 5 byl představen veřejnosti 6. června 2011 a finálně vyšel pro iPhone 3GS, iPhone 4 (GSM a CDMA), iPhone 4S, iPod Touch (3. & 4. generace), iPad, a iPad 2 12. října 2011.

iOS 5.1.1 je poslední verze iOS podporujcí iPad (1. generace) a iPod Touch (3. generace).

iOS 6.x 
iOS 6 byl představen 11. června 2012 při WWDC 2012, a byl vydán na podzim 2012. Po vzoru předchozích verzí iOS, přestaly být některé starší přístroje podporovány, konkrétně iPod Touch (3. generace) a iPad (1. generace). Podporované zařízení byly iPhone 3GS a pozdější; iPod Touch (4. generace) a pozdější; a iPad 2 a pozdější.

12. září 2012 byly v sanfranciském Yerba Buena Center pro umělce, mimo jiné odhaleny tři věci související s iOS: další generace iPhone 5, nový předělaný iPod Touch (5. generace), a zpráva o vydání iOS 6 příští týden.

iOS 6 by pro veřejnost vydán dne 19. září 2012, přes iTunes a přes OTA (over-the-air) aktualizace.

iOS 6.1.6 je poslední verze iOS podporující iPhone 3GS a iPod Touch (4. generace).

iOS 7.x 

Apple představil iOS 7 10. června 2013 na své výroční konferenci Apple WWDC 2013, a vydání pro veřejnost oznámil na podzim 2013. Finální verze pro veřejnost byla vydána společně s novým iPhone 5S a iPhone 5C 10. září 2013. Tato verze iOS není podporována iPhonem 3GS a iPodem Touch (4. generace). Mezi podporované zařízení patří iPhone 4 a novější, iPod Touch (5. generace), iPad 2 a novější a iPad mini (1. generace) a novější.

iOS 7.1.2 je poslední verzí podporující iPhone 4.

iOS 8.x 

Apple představil iOS 8 2. června 2014 na své výroční konferenci Apple WWDC 2014 a finální vydání oznámil na podzim 2014. Finální verze pro veřejnost byla vydána společně s novým iPhone 6 a iPhone 6 Plus 17. září 2014. Verze iOS 8.1 byla oficiálně vydána 20. října 2014. Také s touto verzí Apple pokračuje v cyklu ukončování podpory nejstarších zařízení. Nicméně tentokrát byla ukončena podpora jenom jednomu zařízení a to iPhonu 4. Podporovaná zařízení jsou iPhone 4S a novější, iPod Touch (5. generace), iPad 2 a novější a iPad mini (1. generace) a novější. iPad 2 je nyní nejdéle podporované zařízení, které podporuje 5 verzí iOS a to iOS 4, iOS 5, iOS 6, iOS 7 a nový iOS 8.

iOS 9.x 

Apple představil iOS 9 8. června 2015 na své výroční konferenci Apple WWDC 2015 a systém vydal 16. září 2015. Systém podporuje všechna zařízení, které podporoval iOS 8, tedy iPhone 4S a novější, iPod Touch (5. generace), iPad 2 a novější a iPad mini (1. generace) a novější. Veze 9.3.5 je poslední aktualizace pro zařízení iPhone 4S, iPad 2, iPad (3. generace), iPod Touch (5. generace) a iPad mini (1. generace)

iOS 10.x 
Apple představil iOS 10 13. června 2016 na své výroční konferenci Apple WWDC 2017 a systém vydal 13. září 2016. Systém podporuje zařízení od iPhonu 5 do iPhone 7 Plus či šestou generaci iPod Touch. Také podporuje zařízení iPad od čtvrté generace iPadu do iPadu Pro. Veze 10.3.4 je poslední aktualizací systému.

iOS 11.x 
Apple představil iOS 11 5. června 2017. iOS 11 je zatím veřejností odsuzován za nestabilitu a je to historicky nejkritizovanější iOS. Apple slibuje nestabilitu opravit v budoucích aktualizacích systému iOS 11. iOS 11 mimo jiné ukončuje podporu veškerým 32bitovým aplikacím a 32bitovým jádrům přístrojů (např. iPhone 5). Verze 11.4.1 je poslední aktualizací systému.

iOS 12.x 
iOS 12 byl oznámen 4. června 2018 a vydán 17. září 2018 spolu s telefony iPhone XS a iPhone XS Max. Tímto vydáním nebyla ukončena podpora žádnému zařízení.
Aktuální verzí je iOS 12.5.4 .

iOS 13.x 
Systém iOS 13 byl představen více prezidentem pro software Craigem Federighim 3. června 2019 na konferenci WWDC 2019. Pro uživatele byl zpřístupněn společně s telefony iPhone 11, iPhone 11 Pro a Pro Max 19. září 2019. Aktuální verzí je iOS 13.5.1. Systém dostal pozitivní ohlasy jak od uživatelů, tak recenzérů. Skončila podpora pro telefony s méně jak 2 GB RAM - iPhone 5S, iPhone 6 a 6 Plus, iPod Touch (6 generace). Verze 13.7 je poslední verzí tohoto systému.

iOS 14.x 
Apple představil iOS 14 na WWDC 2020, která se odehrávala poprvé v historii digitálně, dne 22. června 2020. Ostrá verze systému byla uvolněna pro veřejnost 16. září 2020 (netradičně dříve než byla představena nová řada iPhonů). Poslední aktualizací systému iOS 14 je verze 14.7.1.

iOS 15.x 

Představení iOS 15 proběhlo na WWDC 2021, která se stejně jako v roce 2020 odehrála online. Finální stabilní verzí iOS 15 se stala v srpnu 2022 verze 15.6.

iOS 16.x 

Představení iOS16 proběhlo 6. června 2022 na WWDC 2022, která se po třech letech nekonala výhradně online. Verze systému 16.0 byla vydána 12. září 2022.

Architektura 
iOS je odlehčenou verzí operačního systému macOS, používaného v počítačích společnosti Apple. Jedná se tedy o systém UNIXového typu. Jelikož je určen pro mobilní zařízení, neobsahuje veškerou funkcionalitu OS X, na druhou stranu ale přidává podporu dotykového ovládání.
Systém se dělí na čtyři základní vrstvy, které zajišťují základní funkčnost a poskytují vývojářům API a frameworky potřebné k vývoji aplikací.

Vrstva Cocoa Touch 
Tato vrstva obsahuje nejdůležitější frameworky při vývoji aplikací. Technologie dostupné v této vrstvě poskytují infrastrukturu pro implementaci grafického rozhraní aplikace a interakci s uživatelem a poskytuje vysokoúrovňové systémové služby. Při vývoji aplikací je vhodné začínat právě s touto vrstvou a nižší používat pouze v případě potřeby.

Vysokoúrovňové služby Cocoa Touch

Multitasking 
Až do verze iOS 4.0 nebylo možné psát aplikace, které by byly schopné běhu na pozadí. Stisk tlačítka Home vyvolal ukončení aplikace. iOS 4.0 sice nepřinesl možnost plnohodnotného běhu na pozadí, avšak poskytuje služby, které umožňují provádění některých činností, i když aplikace neběží na popředí.

Ochrana dat 
Aplikace, které ukládají citlivá data, mohou využívat vestavěné podpory šifrování. Pokud aplikace označí soubor jako chráněný, systém ho automaticky ukládá na disk v zašifrované podobě. Dokud je zařízení uzamčené, obsah souboru je nedostupný jak aplikaci, tak případnému útočníkovi. Poté, co uživatel zařízení odemkne, je vygenerován dešifrovací klíč, který aplikaci umožní soubor přečíst. Zařízení však (i v iOS 6.1) lze snadno odemknout a volat i bez znalosti hesla.

Push notifikace 
Od verze 3.0 umožňuje iOS posílání tzv. push notifikací. Tento mechanismus umožňuje upozorňovat uživatele na nové informace, aniž by musela být daná aplikace právě spuštěna. Uživateli je možné zobrazit krátkou textovou informaci, přehrát zvuk či aktualizovat číselnou značku (badge, odznak) na ikoně aplikace.
Iniciovat odeslání push notifikace musí server výrobce aplikací, který následně komunikuje se servery společnosti Apple, které se pokusí o doručení na mobilní zařízení (doručení není garantováno) pomocí jeho unikátního identifikátoru.

Lokální notifikace 
Verze iOS 4 a vyšší doplňují mechanismus push notifikací o tzv. lokální notifikace. Ty nevyžadují žádné připojení k serveru a údaje o notifikacích ukládají lokálně. Aplikace aktuálně běžící v pozadí (např. autonavigace) mohou v případě potřeby upozornit uživatele na důležité události (např. o blížící se zatáčce) ihned. Dále je také možné naplánovat notifikaci na určitý datum a čas. Taková notifikace je již uložena v systému a aplikace v požadovaný čas nemusí běžet, aby se uživateli dané upozornění zobrazilo.

Rozpoznávání gest 
V iOS před verzí 3.2 bylo nutné ručně zachytávat a zpracovávat dotykové události a komplikovaně rozpoznávat gesta. Od verze 3.2 však existuje možnost systémového rozpoznávání definovaných gest a jejich předávání aplikaci.
Možná gesta jsou ťuknutí (možno i vícenásobné), sevření a rozevření prstů, přetahování objektů, švihnutí (swipe), rotace, dlouhý stisk. Dále je možné nadefinovat rozpoznávání vlastních gest.

Sdílení souborů 
Aplikace může poskytnout přístup ke svým datům pomocí programu iTunes. Pokud to aplikace umožní, lze přes iTunes nahrávat soubory do definované složky v aplikaci a soubory z ní naopak kopírovat do počítače. Tato služba neumožňuje sdílení dokumentů mezi aplikacemi.

Peer to peer 
Od verze 3.0 je možné používat peer-to-peer konektivitu mezi více zařízeními pomocí technologie Bluetooth. Tato funkcionalita je využívána převážně k tvorbě her pro více hráčů, ale je možné ji využít i jinak.

Standardní systémové view controllery 
Mnoho frameworků použitých v systému používá standardizované komponenty. V rámci zachování konzistentního uživatelského zážitku je proto vhodné používat tyto standardizované komponenty i v aplikacích třetích stran.
Mezi hlavní controller patří Adresář (zobrazení kontaktních informací), Kalendář, Psaní e-mailu/SMS, Otevření souboru, Výběr obrázku z knihovny/fotoaparátu apod.

Podpora externích zobrazovacích zařízení 
Od verze 3.2 je možné připojit pomocí speciálního příslušenství externí zobrazovací zařízení. Takovéto externí zařízení se pak používá jako druhé okno, kam aplikace zobrazuje obsah. Pokud je třeba používat režim zrcadlení (mirror), je nutné zobrazovat stejný obsah do dvou oken zároveň.

Frameworky dostupné v Cocoa Touch

Media layer 
Tato vrstva umožňuje vytváření graficky a zvukově propracovaných aplikací. Tyto technologie umožňují plynulé přehrávání animací, videí a zvuků.

Grafické technologie 
Kvalitní grafika je důležitou součástí systému iOS. Nejjednoduššího a nejefektivnějšího vytváření aplikací je možné dosáhnout používáním standardních předrenderovaných obrázků a komponent a nechat systém, aby vše obstaral, nicméně v některých situacích není toto řešení možné. V takových situacích je možné použít následující technologie.

Technologie pro zvuk 
Tyto technologie umožňují přehrávat kvalitní audiozáznamy a používat vibrace (na zařízeních, které to umožňují).
Systém nabízí několik možností, jak přehrávat či zaznamenávat zvuk. Vysokoúrovňové frameworky velice zjednodušují vývoj, avšak neumožňují takovou míru ovlivňování operací. Následující frameworky jsou seřazeny a od vysokoúrovňových po nízkoúrovňové.
 The Media Player framework – poskytuje přístup k iTunes knihovně a přehrávaní skladeb
 AV Foundation – poskytuje sadu Objective-C rozhraní pro správu přehrávání a záznamu zvuku
 OpenAL – poskytuje sadu multiplatformních rozhraní pro pozicovaný zvuk (3D)
 Core Audio framework – poskytuje rozhraní pro přehrávání a záznam zvuků, umožňuje přehrávat systémové zvuky a upozornění, vibrovat a přehrávat vícekanálový či streamovaný zvuk
iOS podporuje tyto zvukové formáty: AAC, ALAC, A-law, IMA/ADPCM (IMA4), Linear PCM, µ-law, DVI/Intel IMA ADPCM, Microsoft GSM 6.10, AES3-2003

Technologie pro video 
Tyto technologie umožňují přehrávat kvalitní video záznam nebo je pořizovat (na zařízeních, které to umožňují) a pracovat s ním v aplikaci.
Systém nabízí několik možností, jak přehrávat či zaznamenávat video. Vysokoúrovňové frameworky velice zjednodušují vývoj, avšak neumožňují takovou míru ovlivňování operací. Následující frameworky jsou seřazeny od vysokoúrovňových po nízkoúrovňové.
 Media Player framework – umožňuje přehrávání videí (buď přes celou obrazovku, nebo pouze částečně)
 AV Foundation – sada Objective-C rozhraní pro záznam a přehrávání videa
 Core Media – popisuje nízkoúrovňové typy a rozhraní používané ve vysoko úrovňových frameworcích

Core Services layer

Vysokoúrovňové služby poskytované Core Services

Block objekty 
Od verze 4.0 je možné používat objekty typu Block. Jedná se o jazykový konstrukt jazyka C, který je možný používat ve stávajícím C nebo Objective-C kódu. Block objekt reprezentuje anonymní funkci a související data. Takový konstrukt je v jiných jazycích často nazýván closure nebo lambda. Block objekty se hodí jako callback.

Grand Central Dispatch 
Ve verzi 4.0 byla přidána technologie Grand Central Dispatch postavená na BSD, která umožňuje správu úloh v aplikaci. GCD kombinuje asynchronní model programování s vysoce optimalizovaným jádrem a poskytuje tak jednoduchou a zároveň efektivní alternativu k vláknovému programování.

In App Purchase 
Od verze 3.0 je možné provádět platby uvnitř aplikace za dodatečný obsah či zrušení reklamy.

Lokační služby 
Umožňují sledovat aktuální polohu uživatele. Služby využívají k určení polohy veškerý dostupný hardware (Wi-Fi, telefonní síť, GPS). Aplikace tak mohou uživateli nabídnout data relevantní k jeho poloze (např. nejbližší restaurace apod.).

SQLite 
Odlehčená SQL databáze umožňuje ukládání uživatelských dat.

Podpora XML 
Podpora pro zpracování XML dokumentů.

Čas u Obrazovky

Sleduje dobu u aplikací a obrazovky.

Poskytované frameworky

Vrstva Core OS 
Vrstva Core OS poskytuje nízkoúrovňové funkce ostatním technologiím, které jsou na ní postaveny. I když nejsou většinou v aplikacích využívány přímo, velice pravděpodobně je využívají vysokoúrovňové komponenty systému.

Accelerate Framework 
Poskytuje rozhraní pro práci s matematickými funkcemi (obdoba java.math), velkými čísly, výpočty DSP apod. Výhodou tohoto frameworku oproti vlastní implementaci těchto funkcí je fakt, že v různých verzích iOS určených pro různá zařízení je tento framework optimalizován pro daný hardware.

External Accessory Framework 
Tento framework poskytuje podporu pro komunikaci s externími zařízeními připojenými přes Bluetooth nebo třicetipinový konektor zařízení. Framework také umožňuje získávat informace o dostupném příslušenství a navázat komunikaci.

Security Framework 
Kromě vestavěných bezpečnostních vlastností iOS je možné využít Security framework, který dokáže zaručit bezpečnost citlivých dat. K dispozici jsou rozhraní pro certifikáty, soukromé a veřejné klíče, generování kryptografických pseudonáhodných čísel apod. Dále je možné ukládat data do zašifrovaného centrálního úložiště svazku klíčů (keychain). V tomto úložišti je navíc možné údaje sdílet mezi aplikacemi (pouze v případě, že je aplikace zkompilována s příslušným nastavením oprávnění).

Vývoj pro platformu iOS 
V iOS je možné spouštět aplikace napsané v jazyku C nebo pokročilejším Objective-C/Swiftu. Dlouhou dobu bylo možné vyvíjet pouze v aplikaci XCode, což je vývojové prostředí od firmy Apple (nabízené zdarma). Toto prostředí je však dostupné pouze pro operační systém Mac OS X, takže vývoj např. ve Windows či Linuxu není možný.
Tento problém se pokusilo řešit několik projektů, které se snažily kompilovat programy napsané v jiných jazycích do nativního kódu Objective-C. Asi největším počinem v této oblasti je krok společnosti Adobe, která v nové verzi svého nástroje pro vývoj aplikací Flash umožňuje kompilovat právě do programu určeného pro iOS.
Tento (a podobné) nástroje však byly zakázány v licenčním ujednání, ale po velké nevoli ze strany vývojářů byly opět povoleny.

Jailbreak 

iOS je poměrně uzavřený systém, který neumožňuje uživateli přístup do systému a také omezuje možnost instalace aplikací – jediná možnost je přes oficiální App Store, kde aplikace procházejí schvalovacím procesem ze strany společnosti Apple. Právě nedostupnost některých aplikací a nemožnost přístupu do systému bývají motivem k tzv. jailbreaku, což je proces, který modifikuje systém a umožní nahrávat neautorizované aplikace a přistupovat ke chráněným souborům systému. Kromě těchto výhod ale přináší rizika v podobě snížení výkonu, zvýšení spotřeby energie a zvýšeného rizika napadení telefonu. Mnoho uživatelů také využívá možnosti nahrávat do zařízení aplikace, které ‚ukradli‘ z internetu. Společnost Apple se snažila bránit tomuto procesu u soudu, avšak nejnovější verdikt zní, že je to legální zásah a nepoškozuje copyright společnosti Apple.

Po vydání nové verze operačního systému iOS 8.1.3, byla opravena spousta bezpečnostních děr, které doposud umožňovaly nainstalovat Jailbreak na zařízení. Kompletní opravy těchto děr by se měly objevit až v přicházející nové verzi, iOS 9, kde definitivně by mělo být nemožné si na zařízení nainstalovat jailbreak.

Zadní vrátka iOS 
Výzkumník cyber-bezpečnosti, Christopher Soghoian, upozornil na to, že v říjnu 2011 byl v prostředí indické vojenské rozvědky rozeslán vnitřní oběžník, vydaný plukovníkem Išwarem Singhem. Ten byl později získán hackery a zveřejněn na internetu. V oběžníku se píše, že „výměnou za přítomnost na indickém (mobilním) trhu“ výrobci mobilních zařízení zahrnující korporace RIM, Nokia a Apple souhlasili s umožněním a poskytnutím přístupu „zadními vrátky“ na jimi vyráběných zařízeních indické vládě, která následně tento přístup informací utilizovala pro interní e-maily americko-čínské ekonomické bezpečnostní a výzkumné komise a orgánům vlády USA s mandátem monitorovat, vyšetřovat a podávat hlášení Kongresu na téma implikací národní bezpečnosti o ekonomického vztahu a oboustranném obchodu mezi USA a Čínou.

Odkazy

Externí odkazy

Reference 

 
Software Apple
Operační systémy pro mobilní zařízení
Varianty Unixu