Presentato nel 2007 per l'iPhone di prima generazione, da allora iOS è stato esteso per supportare altri dispositivi come iPod touch (settembre 2007) e iPad (gennaio 2010). Al marzo 2018, l'App Store di Apple conteneva oltre 2,1 milioni di applicazioni iOS, delle quali un milione native per iPad.[2] Queste app mobili sono state scaricate collettivamente più di 130 miliardi di volte.
L'interfaccia utente di iOS si basa sulla manipolazione diretta, utilizzando gesti multi-touch. Gli elementi di controllo dell'interfaccia includono cursori, interruttori e pulsanti. Gli accelerometri interni sono utilizzati da alcune applicazioni per scuotere il dispositivo (comunemente tramite il comando annulla) o ruotarlo in tre dimensioni (comunemente passando dalla modalità verticale a quella orizzontale). Varie funzioni di accessibilità consentono agli utenti con disabilità visive e uditive di utilizzare correttamente iOS.
Le versioni principali di iOS vengono distribuite ogni anno. L'attuale versione, iOS 18, è stata distribuita al pubblico il 16 settembre 2024.
Nel 2005, quando Steve Jobs iniziò a pianificare l'iPhone, la sua idea era quella di "ridurre il Mac, ovvero un'impresa epica di ingegneria, o d'ingrandire l'iPod". Jobs favorì il primo approccio, ma si confrontò con i team di Macintosh e iPod, guidati rispettivamente da Scott Forstall e Tony Fadell, in una competizione interna, seguita dalla vittoria di Forstall per la creazione dell'iPhone OS. La decisione consentì il successo di iPhone come piattaforma per sviluppatori di terze parti: l'utilizzo di un noto sistema operativo desktop come base consentì a molti sviluppatori Mac di terze parti di scrivere software per iPhone con una riqualificazione minima. Forstall fu anche responsabile della creazione di un kit di sviluppo software (SDK) per programmatori per la creazione di app per iPhone, nonché di un App Store in iTunes.[3][4]
iOS (precedentemente iPhone OS) venne presentato con l'iPhone alla Macworld Conference & Expo di San Francisco il 9 gennaio 2007 e distribuito assieme all'iPhone il 29 giugno dello stesso anno.[5][6][7] Al momento della sua presentazione a gennaio, il sistema operativo non disponeva di un nome ufficiale (fino all'uscita della prima beta dell'iPhone SDK il 6 marzo 2008); prima di allora, il reparto marketing di Apple e Steve Jobs affermavano che iPhone eseguisse l'OS X e le "applicazioni desktop di classe".[8][9] Al momento della commercializzazione dell'iPhone, il sistema operativo venne rinominato "iPhone OS.[10]
Inizialmente le applicazioni native di terze parti non vennero autorizzate in quanto l'intenzione di Steve Jobs era quella di disporre di un OS privo di app esterne che potessero compromettere la sicurezza e le prestazioni del sistema operativo stesso. Queste potevano comunque essere realizzate esclusivamente in applicazioni web sfruttando il motore del browser Safari già precaricato nel sistema, che "si sarebbero comportate come app native su iPhone".[11][12] A ottobre 2007, Jobs cambiò idea (sotto la pressione dei vertici e degli sviluppatori che già inizialmente ne compresero la grande opportunità) permettendo la realizzazione di un SDK nativo per iPhone, dandolo poi "nelle mani degli sviluppatori a febbraio" di quell'anno,[13][14][15] e creare l’App Store che venne poi lanciato nel 2008.[16] Il 6 marzo 2008, Apple tenne un evento stampa, annunciando l'SDK per iPhone.[17][18]
L'App Store di iOS venne aperto il 10 luglio 2008 con 500 applicazioni disponibili inizialmente.[19] Questo numero crebbe rapidamente a 3.000 nel settembre 2008,[20] 15.000 a gennaio 2009,[21] 50.000 a giugno 2009,[22] 100.000 a novembre 2009,[23][24] 250.000 ad agosto 2010,[25][26] 650.000 a luglio 2012,[27] 1 milione a ottobre 2013,[28][29] 2 milioni a giugno 2016,[30][31][32] e 2,2 milioni a gennaio 2017.[33][34] Al marzo 2016, 1 milione di app erano nativamente compatibili con il tablet iPad.[35] Queste app sono state scaricate collettivamente più di 130 miliardi di volte.[30] La società di intelligence app Sensor Tower ha stimato che l'App Store raggiungerà 5 milioni di app entro il 2020.[36]
A settembre 2007, Apple annunciò l'iPod Touch, un iPod riprogettato in base alla forma dell'iPhone.[37] A gennaio 2010, Apple annunciò l'iPad, con uno schermo più grande dell'iPhone e dell'iPod Touch, progettato per la navigazione web, il consumo dei media e la lettura.[38]
A giugno 2010, Apple rinominò iPhone OS in "iOS". Il marchio "IOS" è stato utilizzato da Cisco per oltre un decennio per il suo sistema operativo, IOS, utilizzato sui propri router. Per evitare potenziali azioni legali, Apple ottenne in licenza il marchio "IOS" da Cisco.[39]
Inizialmente la maggior parte dei gestori telefonici degli Stati Uniti non consentiva ai possessori dell'iPhone di utilizzarlo con altri gestori. Tuttavia AT&T consentì in seguito ai possessori dell'iPhone che avevano soddisfatto i requisiti del contratto di sbloccare il proprio iPhone.[42] Le istruzioni per sbloccare il dispositivo venivano fornite da Apple[43] ma alla fine era a esclusiva discrezione del gestore autorizzare lo sblocco del dispositivo.[44] Ciò consentì l'utilizzo di un iPhone "brandizzato" con altri gestori telefonici. Le versioni più recenti di iOS e iPhone supportano completamente la tecnologia LTE su più gestori, a prescindere da quale gestore il telefono sia stato originariamente acquistato.[45] Esistono programmi per rimuovere le restrizioni di blocco della SIM, ma non sono supportati da Apple e molto spesso non causano uno sblocco permanente, ma solo uno provvisorio.[46]
Funzionalità
Applicazioni
Le applicazioni (abbreviate in app) sono la forma più generica per indicare i software applicativi installabili su iOS. Vengono scaricate dal catalogo ufficiale del negozio digitale App Store, dove le app vengono sottoposte a controlli di sicurezza prima di essere rese disponibili agli utenti. Le applicazioni iOS possono anche essere installate direttamente a partire da un file IPA fornito dal distributore del software, tramite vie non ufficiali.
La schermata principale, resa da SpringBoard, mostra le icone delle applicazioni e una dock in basso in cui gli utenti possono bloccare le app utilizzate più frequentemente.
Essa viene visualizzata ogni volta che l'utente sblocca il dispositivo (tramite la schermata di blocco) o preme il pulsante fisico "Home" sotto il display (nei dispositivi che lo predispongono) mentre si trova in un'altra app.[47] Prima di iOS 4 su iPhone 3GS (o successivo), lo sfondo dello schermo poteva essere personalizzato solo tramite jailbreak, ora invece può essere cambiato. Lo schermo ha una barra di stato nella parte superiore che mostra vari dati, come l'ora, il segnale telefonico, lo stato della batteria l'attivazione o meno del 3G, 4G, LTE, Edge, Wi-Fi, localizzazione e sveglia. La schermata iniziale permette inoltre di visualizzare tutte le applicazioni presenti sul dispositivo e in basso, nel dock, le applicazioni usate più frequentemente (di default su iPhone: Telefono, Safari, Messaggi e Musica; su iPod touch e iPad: Messaggi, Safari, Mail e Musica), che possono essere spostate e modificate a proprio piacimento. Il resto dello schermo è dedicato all'applicazione corrente. Quando viene impostata una password e un utente accende il dispositivo, la password deve essere inserita nella schermata di blocco prima di concedere l'accesso alla schermata principale.[48]
A partire da iPhone OS 3 viene anche integrata la funzione Spotlight, consentendo agli utenti di cercare contenuti multimediali, applicazioni, e-mail, contatti, messaggi, podcast, promemoria, eventi del calendario e contenuti simili, oppure cercare su Internet ciò che si è digitato. In iOS 7 e versioni successive, è possibile accedere a Spotlight tirando verso il basso in qualsiasi punto della schermata principale (ad eccezione dei bordi superiore e inferiore che aprono il Centro notifiche e il Centro di controllo).[49][50] In iOS 9, ci sono due modi per accedere a Spotlight. Come con iOS 7 e 8, trascinando verso il basso su qualsiasi schermata iniziale verrà visualizzato Spotlight. Tuttavia, è anche possibile accedervi come era possibile fino a iOS 6. Ciò dota Spotlight di suggerimenti Siri, che includono suggerimenti per app, di contatto e notizie.[51] In iOS 10, Spotlight è in cima al pannello "Oggi" ora dedicato.[52] Da questa versione si può accedere anche scorrendo verso destra sempre dalla schermata home.
A partire da iOS 3.2, gli utenti hanno la possibilità di impostare un'immagine di sfondo per la schermata principale. Questa funzione è disponibile solo su dispositivi di terza generazione: iPhone 3GS, iPod touch di terza generazione (iOS 4.0 o successivi) e tutti i modelli di iPad (da iOS 3.2) o successivi.
I ricercatori hanno scoperto che gli utenti organizzano icone sulla propria schermata iniziale in base alla frequenza di utilizzo e alla relazione delle applicazioni, nonché per motivi di usabilità ed estetica.[53]
Carattere di sistema
Originariamente iOS utilizzava il carattere tipografico senza grazieHelvetica per la propria interfaccia utente. In seguito fu implementato Helvetica Neue esclusivamente per l'iPhone 4 e il suo display Retina mentre fu mantenuto Helvetica come carattere di sistema per i dispositivi con iOS 4 meno recenti.[54] Con il lancio di iOS 7, Apple annunciò che avrebbe implementato Helvetica Neue Light come carattere di sistema, una decisione che suscitò critiche per l'uso inappropriato di un carattere leggero e sottile per dispositivi mobili con schermi a bassa risoluzione. L'azienda, infine, scelse di mantenere l'Helvetica Neue già utilizzato su iPhone 4.[55][56] Con questa versione di iOS, inoltre, fu introdotta la possibilità di ridimensionare il testo o applicare altre forme di modifica dell'accessibilità del testo tramite Impostazioni.[57][58] A partire da iOS 9, Apple ha implementato il carattere San Francisco, progettato internamente e volto alla massima leggibilità oltre a caratterizzare l'intera gamma dei prodotti dell'azienda.[59][60]
Cartelle
Introdotte a partire da iOS 4, le cartelle consentono di raggruppare le applicazioni della schermata principale, semplicemente trascinando l'icona di un'app su un'altra. Ogni cartella può essere rinominata a piacere e le notifiche delle applicazioni incluse al proprio interno vengono segnalate con un badge sulla cartella stessa.
Fino a iOS 6, ogni cartella poteva contenere fino a un totale di:
Da iOS 7 in poi, il numero di applicazioni per ciascuna cartella non è più limitato: le app all'interno sono infatti organizzate in pagine, come nella Home. Ogni una cartella può visualizzare fino a nove app in una pagina e può contenere un massimo di 15 pagine, consentendo un totale di 135 app in una singola cartella.[61] In iOS 9, Apple ha aggiornato le dimensioni delle cartelle per l'hardware dell'iPad, consentendo 16 app per pagina, sempre per un massimo di 15 pagine, aumentando il totale a 240 app.[62]
Prima di iOS 5, le notifiche venivano recapitate in una finestra modale e non potevano essere visualizzate dopo essere state eliminate. In iOS 5, Apple introduce il Centro notifiche, che consente agli utenti di visualizzare una cronologia delle notifiche trascinando verso il basso partendo dall'alto dello schermo, viene mostrata una "tendina" con il meteo, la borsa, l'integrazione con Facebook e Twitter e le varie notifiche, tra cui anche promemoria ed eventi. L'utente può toccare una notifica per aprire l'app corrispondente o cancellarla.[63] Le notifiche vengono inviate in banner che compaiono brevemente nella parte superiore dello schermo. Se un utente tocca una notifica ricevuta, verrà aperta l'applicazione che ha inviato la notifica. Gli utenti possono anche scegliere di visualizzare le notifiche nelle finestre di avviso modali modificando le impostazioni di notifica dell'applicazione. Introdotti con iOS 8, i widget sono ora accessibili tramite il Centro notifiche, definito da terze parti.
Quando un'app invia una notifica mentre è chiusa, viene visualizzato un pallino rosso sulla sua icona. Questo pallino indica all'utente, a colpo d'occhio, quante notifiche ha inviato l'app. L'apertura dell'app cancella il pallino.
Con la versione iOS 7, il centro notifiche è stato separato in tre sezioni: Oggi (con il riepilogo degli eventi, meteo, promemoria e borsa), Tutti (dove verranno visualizzate tutte le notifiche ricevute) e Perse (dove verranno visualizzare le ultime notifiche perse).
In iOS 8 è stata rimossa la sezione Perse e sono stati aggiunti i widget. Con iOS 10 il Centro notifiche è stato completamente ridisegnato. Trascinandolo dalla parte superiore dello schermo verranno mostrate le notifiche e scorrendo da sinistra verso destra (dal centro notifiche) tutti i widget. È ora possibile scorrere da sinistra a destra dalla schermata principale per accedere ai widget.
Con iOS 11 il Centro Notifiche è stato sostituito con la schermata di blocco, anche scorrendo dall’alto verso il basso ci apparirà la schermata di blocco con le varie notifiche ricevute ma è comunque possibile scorrere verso destra per visualizzare i widget.
Il centro di controllo è stato introdotto con iOS 7 nel 2013. Offre all'utente la possibilità di accedere alle impostazioni principali del dispositivo trascinando lo schermo dal basso verso l'alto (quali gestione rete, player e altre opzioni personalizzabili quali fotocamera, torcia, registrazione schermo, ect...)
Menù rapido Haptic Touch (ex 3D Touch)
Il menù rapido (Haptic Touch) fu introdotto per la prima volta su iPhone 6s. Esso permette di aprire un menù contestuale grazie ad una pressione touch prolungata, con un clic a due dita in trackpad oppure con il tasto destro del mouse, di accedere a determinate attività rapide in base a ciò che si seleziona (un'app, un contatto, un file o cartella, un media oppure un messaggio).
Accessibilità
iOS offre varie funzionalità di accessibilità per aiutare gli utenti con disabilità visive e uditive. Una delle funzionalità principali, VoiceOver, fornisce una voce che legge le informazioni sullo schermo, inclusi pulsanti contestuali, icone, collegamenti e altri elementi dell'interfaccia utente e consente all'utente di navigare nel sistema operativo attraverso i gesti. Qualsiasi app con controlli predefiniti e sviluppata con un framework UIKit integra la funzionalità VoiceOver.[64] Un esempio è tenendo premuto l'iPhone per scattare una foto, VoiceOver descrive lo scenario fotografico.[65] Nell'ambito di un programma "Made for iPhone", introdotto con la distribuzione di iOS 7 nel 2013, Apple ha sviluppato una tecnologia per utilizzare il Bluetooth e uno speciale protocollo tecnologico per consentire alle apparecchiature di terze parti compatibili di connettersi con iPhone e iPad per lo streaming audio direttamente alle orecchie di un utente. Le personalizzazioni aggiuntive disponibili per i prodotti Made for iPhone includono il monitoraggio della batteria e impostazioni audio regolabili per diversi ambienti.[66][67] Apple ha compiuto ulteriori sforzi per l'accessibilità per la distribuzione di iOS 10 nel 2016, aggiungendo un nuovo editor di pronuncia a VoiceOver, un'impostazione "lente di ingrandimento" per ingrandire gli oggetti attraverso la fotocamera del dispositivo, un supporto software DTS per le persone non udenti per effettuare chiamate telefoniche da iPhone e fornendo tutorial e linee guida per sviluppatori di terze parti per incorporare funzioni di accessibilità adeguate nelle loro app.[68]
Nel 2012, Liat Kornowski di The Atlantic scrisse: "l'iPhone si è rivelato uno degli sviluppi più rivoluzionari dall'invenzione del Braille",[69] e nel 2016, Steven Aquino di TechCrunch ha descritto Apple come "all'avanguardia nel settore tecnologia assistiva", seguito dalla replica di Sarah Herrlinger, Alto dirigente per le politiche e le iniziative sull'accessibilità globale di Apple, che afferma: "Vediamo l'accessibilità come un diritto umano fondamentale. Costruire nel cuore dei nostri prodotti supporta la visione di un mondo inclusivo in cui opportunità e accesso alle informazioni sono senza barriere, consentendo alle persone con disabilità di raggiungere i propri obiettivi".[70]
Multitasking
Le funzioni multitasking sono state introdotte nella versione iOS 4[71], in quanto Apple dubitava della durata della batteria con l'esecuzione di più applicazioni di terze parti contemporaneamente, rendendo disponibile questa funzionalità solo a partire da iOS 4 tramite le sue specifiche API[72]. Solo alcuni dispositivi – iPhone 4, iPhone 3GS e iPod Touch di terza generazione – ebbero il supporto al multitasking.[73] L'iPad non ottenne il multitasking fino a iOS 4.2.1, distribuito a novembre dello stesso anno.[74]
L'implementazione del multitasking in iOS è stata criticata per il suo approccio, che limita il lavoro delle applicazioni in background a un set di funzioni limitato e richiede agli sviluppatori di applicazioni di aggiungere ulteriore supporto.[73][75]
Prima di iOS 4, il multitasking era limitato a un numero limitato di applicazioni Apple incluse nel dispositivo. Gli utenti potevano tuttavia "effettuare il jailbreak" del proprio dispositivo per abilitare un multitasking non ufficiale.[76] A partire da iOS 4, su dispositivi iOS di terza generazione e successivi, il multitasking è supportato attraverso sette API in background:[77]
Audio di sottofondo: l'applicazione continua a funzionare in background finché riproduce contenuti audio o video[78]
Voice over IP: l'applicazione viene sospesa quando non è in corso una chiamata[78]
Posizione in background: l'applicazione viene informata delle modifiche alla posizione[78]
Notifiche push
Notifiche locali: l'applicazione pianifica le notifiche locali da mostrare a un orario prestabilito[78]
Completamento dell'attività: l'applicazione richiede al sistema un tempo extra per completare una determinata attività[78]
Cambio rapido di app: l'applicazione non esegue alcun codice e può essere rimossa dalla memoria in qualsiasi momento[78]
In iOS 5 furono introdotte tre nuove API in background:
Edicola: l'applicazione può scaricare il contenuto in background in modo da essere pronto per l'utente[78]
Accessorio esterno: l'applicazione comunica con un accessorio esterno e condivide i dati a intervalli regolari[78]
Accessorio Bluetooth: l'applicazione comunica con un accessorio Bluetooth e condivide i dati a intervalli regolari[78]
In iOS 7, Apple ha introdotto una nuova funzionalità multitasking, che offre a tutte le app la possibilità di eseguire aggiornamenti in background. Questa funzione priviliegia gli aggiornamenti per le app utilizzate più frequentemente e utilizza le reti Wi-Fi su una rete cellulare, senza ridurre notevolmente la durata della batteria del dispositivo.
Selettore di applicazioni
Da iOS 4 a iOS 6, facendo un doppio clic sul pulsante Home, si attivava il selettore di applicazioni. Un'interfaccia scorrevole simile al Dock appariva dal basso, spostando il contenuto dello schermo verso l'alto. Cliccando su un'icona si passava all'applicazione. All'estrema sinistra del selettore, vi erano i controlli musicali, un blocco di rotazione e su iOS 4.2 e successivi, un controller del volume.
Con l'introduzione di iOS 7, facendo doppio clic sul pulsante Home si attiva anche il cambio applicazione. Tuttavia, a differenza delle versioni precedenti, mostra schermate di applicazioni aperte nella parte superiore dell'icona e lo scorrimento orizzontale consente di sfogliare le app precedenti ed è possibile chiudere le applicazioni trascinandole verso l'alto, in modo simile a come WebOS gestiva più schede.[79]
Con l'introduzione di iOS 9, il selettore di applicazioni ha ricevuto un significativo cambiamento visivo: pur mantenendo la metafora della scheda introdotta in iOS 7, l'icona dell'applicazione è più piccola e appare sopra lo screenshot (che ora è più grande, a causa della rimozione di "Contatti recenti e preferiti"), e ciascuna "scheda" dell'applicazione si sovrappone all'altra, formando un effetto rolodex mentre l'utente scorre. Ora, invece della schermata principale visualizzata all'estrema sinistra del selettore applicazioni, appare all'estrema destra.[80] In iOS 11, lo selettore di applicazioni riceve una riprogettazione importante. Nell'iPad, il Centro di controllo e lo selettore di applicazioni sono combinati. Nell'iPad è possibile accedere al selettore scorrendo verso l'alto dal basso. Su iPhone, non è possibile accedere al selettore se non ci sono app nella RAM.
Chiusura delle attività in background
Da iOS 4 a iOS 6, tenendo brevemente le icone nel selettore di applicazioni, esse si muovono (in modo simile alla schermata iniziale) e ciò consente all'utente di forzare l'arresto dalle applicazioni toccando il cerchio rosso che appare all'angolo dell'icona dell'app.[81] La cancellazione delle applicazioni dal multitasking è rimasta la stessa da iOS 4.0 a 6.1.6, l'ultima versione di iOS 6.
A partire da iOS 7, il processo è diventato più veloce e più facile. In iOS 7, invece di premere sulle icone, esse vengono chiuse semplicemente scorrendo verso l'alto. È possibile cancellare fino a tre app alla volta rispetto a una nelle versioni fino a iOS 6.1.6.[82]
Completamento delle attività
Il completamento dell'attività consente alle app di continuare una determinata attività dopo che l'app è stata sospesa.[83][84] A partire da iOS 4.0, le app possono richiedere fino a dieci minuti per completare un'attività in background.[85] Questo non si estende ai download in background (ad es. Se un utente avvia un download in un'applicazione, non finirà se si allontana dall'applicazione).
Siri è un assistente virtuale intelligente integrato in iOS. L'assistente utilizza query vocali e un'interfaccia utente in linguaggio naturale per rispondere a domande, formulare raccomandazioni ed eseguire azioni delegando le richieste a un set di servizi Internet. Il software si adatta agli utilizzi, alle ricerche e alle preferenze della lingua individuale degli utenti, con un uso continuo. I risultati restituiti sono personalizzati.
Originariamente distribuito come app per iOS nel febbraio 2010,[86] fu acquisito da Apple due mesi dopo[87][88][89] e quindi integrato nell'iPhone 4S alla sua uscita ad ottobre 2011.[90][91] A quel tempo, anche l'app separata venne rimossa dall'App Store.[92]
Siri supporta una vasta gamma di comandi utente, tra cui l'esecuzione di azioni telefoniche, il controllo delle informazioni di base, la pianificazione di eventi e promemoria, la gestione delle impostazioni del dispositivo, la ricerca in Internet, la navigazione nelle aree, la ricerca di informazioni sull'intrattenimento ed è in grado di interagire con le app integrate di iOS.[93] Con la distribuzione di iOS 10 nel 2016, Apple ha aperto a Siri un accesso limitato di terze parti, incluse app di messaggistica di terze parti, nonché app di pagamento, ride-sharing e chiamate via Internet.[94][95] Con la distribuzione di iOS 11, Apple ha aggiornato le voci di Siri in voci più chiare e umane, ora supporta quesiti complementari, la traduzione di lingue e ulteriori azioni di terze parti.[96][97]
Il Game Center è un "social gaming network" multigiocatoreonline[98] distribuito da Apple.[99] Esso permette agli utenti di "invitare gli amici a giocare, avviare una partita multigiocatore attraverso matchmaking, tenere traccia dei loro risultati e confrontare i loro punteggi più alti in una classifica". iOS 5 e versioni successive aggiungono supporto per le foto profilo.[98]
Il Game Center venne annunciato durante un evento di anteprima di iOS 4 ospitato da Apple l'8 aprile 2010. Un'anteprima fu distribuita agli sviluppatori Apple registrati ad agosto.[98] Venne distribuito l'8 settembre 2010 con iOS 4.1 su iPhone 4, iPhone 3GS e iPod Touch dalla seconda alla quarta generazione.[100] Il Game Center fece il suo debutto pubblico su iPad con iOS 4.2.1.[101] Non vi è supporto per l'iPhone 3G, l'iPhone originale e l'iPod Touch di prima generazione (questi ultimi due dispositivi non hanno il Game Center perché non sono stati aggiornati a iOS 4).[102] Tuttavia, il Game Center è disponibile in via non ufficiale su iPhone 3G tramite un hack.[103]
La piattaforma hardware principale per iOS è l'architettura ARM (le architettureARMv7 e ARMv8-A, ARMv8.2-A, ARMv8.3-A). Le versioni di iOS precedenti a iOS 7 possono essere eseguite solo su dispositivi iOS con processori ARM a 32 bit (architetture ARMv6 e ARMv7-A). Nel 2013, iOS 7 venne distribuito con pieno supporto a 64 bit (che include un kernel nativo a 64 bit, librerie, driver e tutte le applicazioni integrate),[104] dopo che Apple ha annunciato che stavano passando ai processori a 64 bit ARMv8-A con l'introduzione del chip Apple A7.[105] Il supporto a 64 bit è stato applicato anche per tutte le app dell'App Store; tutte le nuove app pubblicate sull'App Store dovevano adeguarsi alla nuova architettura entro febbraio 2015 e le app già esistenti entro il 1º giugno 2015.[106]iOS 11 elimina il supporto per tutti i dispositivi iOS con processori ARM a 32 bit così come le applicazioni a 32 bit,[107][108] rendendo iOS solo a 64 bit.[109]
Il sistema operativo dall'iPhone originale (1.0) fino all'iPhone OS 3.1.3 utilizzava Darwin 9.0.0d1. iOS 4 si basava su Darwin 10. iOS 5 su Darwin 11. iOS 6 su Darwin 13, iOS 7 e iOS 8 su Darwin 14, iOS 9 su Darwin 15, iOS 10 su Darwin 16, iOS 11 su Darwin 17, iOS 12 su Darwin 18, iOS 13 su Darwin 19.[110]
A parte il Kernel, nei livelli sovrastanti ad esso, iOS è scritto in gran parte in linguaggio Objective-C (e in minima parte C e C++), ma allo stesso tempo sta adottando sempre di più anche il linguaggio proprietario Swift.[112]
Mentre sviluppava l'iPhone prima della sua presentazione nel 2007, l'allora amministratore delegato di Apple Steve Jobs non intendeva permettere agli sviluppatori di terze parti di creare app native per iOS, indirizzandoli a creare applicazioni Web per il browser Safari[114] Tuttavia, il contraccolpo degli sviluppatori spinse l'azienda a riconsiderare l'idea,[114] così il 17 ottobre 2007, in una lettera aperta scritta nel blog How News di Apple, Steve Jobs ha annunciato che un SDK (software development kit) sarebbe stato disponibile agli sviluppatori di terze parti in febbraio 2008. L'SDK è stato distribuito il 6 marzo 2008 e permette agli sviluppatori di creare applicazioni per iPhone e iPod touch, e testarle in un simulatore di iPhone.[115][116] Tuttavia il caricamento di una applicazione nei dispositivi è possibile solamente dopo aver pagato una tassa di iscrizione all'iOS Developer Program. L'ambiente di sviluppo per iOS SDK è Xcode.
Gli sviluppatori sono liberi di scegliere qualsiasi prezzo per le loro applicazioni che sono distribuite tramite App Store, per le quali riceveranno il 70% del ricavo. Essi possono anche optare per pubblicare gratuitamente l'applicazione non pagando nessun costo di pubblicazione o distribuzione, eccetto la tassa di sottoscrizione al programma developer, a cui devono abbonarsi per provare le applicazioni, ottenere supporto tecnico e distribuire le app tramite l'App Store.[117]
L'SDK è scaricabile gratuitamente per gli utenti di personal computer Mac.[117] Non è disponibile per PC Microsoft Windows.[117] L'SDK contiene set che consentono agli sviluppatori di accedere a varie funzioni e servizi dei dispositivi iOS, come attributi hardware e software.[118] Contiene anche un simulatore di iPhone per imitare l'aspetto del dispositivo sul computer durante lo sviluppo.[118] Le nuove versioni dell'SDK accompagnano le nuove versioni di iOS.[119][120]
In combinazione con Xcode, l'iOS SDK aiuta gli sviluppatori a scrivere app iOS usando linguaggi di programmazione ufficialmente supportati, inclusi Swift e Objective-C.[121] Altre aziende hanno anche creato strumenti che consentono lo sviluppo di app iOS native usando i rispettivi linguaggi di programmazione.[122][123]
Contenuto SDK
Dato che l'iPhone è basato su una variante dello stesso kernel XNU usato da macOS, gli strumenti usati per lo sviluppo sono basati su Xcode.
All'interno dell'SDK è contenuto l'iPhone Simulator, un programma usato per emulare il "look and feel" dell'iPhone nel desktop dello sviluppatore. Originariamente chiamato Aspen Simulator, è stato rinominato con la beta 2 dell'SDK. Da notare che l'iPhone Simulator non è un emulatore ed esegue codice generato per un target x86.
L'SDK richiede un Mac Intel con Mac OS X Leopard. Altri sistemi operativi, inclusi Microsoft Windows e vecchie versioni di macOS, non sono supportati, ma vi sono applicazioni non ufficiali che permettono ciò.
Apple fornisce annualmente importanti aggiornamenti al sistema operativo iOS tramite iTunes e, da iOS 5, anche sul dispositivo stesso tramite aggiornamenti over-the-air (OTA).[124] Fino all'uscita di iOS 4 tutti i possessori di iPod touch dovevano pagare per poterlo installare. Su tutti i dispositivi iOS recenti, iOS verifica regolarmente la disponibilità di un aggiornamento e, se disponibile, chiede all'utente di consentirne l'installazione automatica.
Al contrario di quanto accade per i dispositivi Android, l'esecuzione del ripristino alle condizioni di fabbrica attraverso iTunes obbliga l'utente (ma l'operazione fa automaticamente parte della procedura[125]) ad aggiornare il dispositivo all'ultima versione firmata digitalmente da Apple. Invece, con il reset eseguito tramite comando del dispositivo, viene mantenuta l'ultima versione installata.
Sui dispositivi che eseguono iOS, infatti, non è possibile passare da una versione all'altra a proprio piacere. Per via delle politiche di Apple[senza fonte], solamente le versioni firmate digitalmente possono essere installate sul dispositivo attraverso iTunes e il download di un file (.ipsw). È possibile trovare una lista delle versioni firmate da Apple sul sito ipsw.me.. Ci sono però alcuni modi per installare una versione non firmata del sistema operativo sfruttando dei blob SHSH2 precedentemente scaricati e un dispositivo jailbroken, tuttavia questa procedura è limitata agli utenti esperti.
L'ultima versione stabile è iOS 13, distribuita il 19 settembre 2019 e l'ultima versione beta è iOS 14.0 Beta 1, distribuita il 22 giugno 2020. È disponibile per iPhone 6S e versioni successive e per l'iPod Touch settima generazione.[126] Accanto ad iOS 13, Apple ha lanciato iPadOS 13 nel suo keynote annuale del WWDC il 4 giugno 2019.[127] È stato distribuito il 24 settembre 2019. iPadOS è disponibile su iPad Air 2 e versioni successive, iPad di quinta generazione e versioni successive, iPad mini 4 e versioni successive e tutte le versioni di iPad Pro.[128]
Originariamente, gli utenti di iPod Touch dovevano pagare per gli aggiornamenti del software di sistema. Ciò era dovuto alle regole di contabilità che non lo designavano come un "dispositivo in abbonamento" come l'iPhone o l'Apple TV e i miglioramenti del dispositivo erano a pagamento[129][130] L'obbligo di pagare per gli aggiornamenti impedì ai proprietari di iPod Touch di stare lontano dagli aggiornamenti.[131] Tuttavia, a settembre 2009, un cambiamento nelle regole di contabilità ottenne l'approvazione provvisoria, incidendo sugli utili e sul prezzo delle azioni di Apple e consentendo la consegna gratuita degli aggiornamenti all'iPod Touch.[132][133]
Il kernel di iOS è il kernel XNU. Ad iOS 6 il kernel è soggetto al Kernel ASLR, molto simile a quello di OS X Mountain Lion. Ciò rende le possibilità di exploit più complesse poiché non è possibile conoscere la posizione del codice del kernel.
Poiché XNU è basato sul kernel BSD, è open source[134]. La fonte è sotto una licenza BSD a 3 clausole[135] per le parti BSD originali con le parti aggiunte da Apple sotto la licenza di origine pubblica Apple[136]. Le versioni contenute in iOS non sono disponibili, mentre sono disponibili solo le versioni utilizzate in macOS.
iOS, non possiede kext nel file system, anche se sono effettivamente presenti. La cache del kernel può essere decompressa per mostrare il kernel corretto, insieme ai kext (tutti impacchettati nella sezione __PRELINK_TEXT) e ai loro plist (nella sezione __PRELINK_INFO).
La cache del kernel può essere anche decompressa direttamente (se decrittografata) utilizzando strumenti di terze parti. Con l'avvento delle beta di iOS 10 e delle kernelcache di testo normale predefinite, questi strumenti possono essere utilizzati solo dopo aver decompresso e applicato lzssdec per decomprimere la cache del kernel alla sua dimensione intera.
Il kextstat fornito dal software alternativo Cydia non funziona su iOSm perché il kextstat si basa su kmod_get_info(...), che è un'API deprecata in iOS 4 e Mac OS X Snow Leopard. Vi sono altri software alternativi che possono eseguire anche il dump dei dati XML grezzi.
Sui dispositivi in via di sviluppo, il kernel è sempre archiviato come una cache collegata staticamente archiviata in /System/Library/Caches/com.apple.kernelcaches/kernelcache che viene decompresso ed eseguito all'avvio.
All'inizio iOS possedeva una versione del kernel solitamente superiore rispetto alla versione corrispondente di macOS. Nel tempo, i kernel di iOS e macOS si sono avvicinati. Ciò non sorprende, considerando che iOS ha introdotto nuove funzionalità (come il Kernel ASLR, il freezer predefinito e varie funzionalità di rafforzamento della sicurezza) che sono state incorporate per la prima volta e successivamente sono arrivate su macOS. Sembra che Apple stia gradualmente unendo i kernel iOS e macOS nel tempo. La data di build per ogni versione varia leggermente tra i processori. Ciò è dovuto al fatto che le build sono sequenziali.
L'ultima versione del Kernel Darwin aggiornata ad iOS 13.6 è la 19.6.0, riportante data 27 giugno 2020, mentre per iOS 14 beta 4 è la 20.0.0, riportante data 27 luglio 2020.
Ambiente di ripristino
Su iOS potrebbe essere necessario accedere all'ambiente di ripristino (recovery mode), che consente ad iTunes di ripristinare il dispositivo alle impostazioni di fabbrica aggiornandolo al firmware più recente disponibile. Sul display del dispositivo in recovery mode appare l’icona di iTunes con un cavo USB collegato ad esso.
Un'ulteriore modalità, la modalità DFU (Device Firmware Upgrade), consente di scegliere la versione di iOS da installare sul dispositivo iPhone, nei casi di emergenza, sempre tramite iTunes. Può essere utilizzato nel caso si voglia fare un downgrade ad una versione precedente del sistema operativo, oppure se il dispositivo risulta bloccato per un qualsiasi problema. Questa modalità ignora iBoot, il Boot loader dei dispositivi Apple, per effettuare il downgrade saltando il caricamento del Boot loader di basso livello e dell'iBoot. Per avviare iPhone in DFU bisogna tener premuto il tasto accensione e home.
iOS è il secondo sistema operativo mobile più popolare al mondo, dopo Android. Anche le vendite di iPad negli ultimi anni sono al secondo posto dopo Android, mentre, per uso web (un proxy per tutti gli usi), gli iPad (usando iOS) sono i più popolari.[137]
A metà del 2012, c'erano 410 milioni di dispositivi attivi.[138] Al WWDC 2014, Tim Cook dichiarò che 800 milioni di dispositivi erano stati venduti entro giugno 2014.[139]
Durante la chiamata trimestrale degli utili di Apple a gennaio 2015, la società ha annunciato di aver venduto oltre un miliardo di dispositivi iOS dal 2007.[140][141]
Alla fine del 2011, iOS rappresentava il 60% della quota di mercato per smartphone e tablet.[142] Alla fine del 2014, iOS rappresentava il 14,8% del mercato degli smartphone[143] e il 27,6% dei tablet e il mercato due in uno.[143] Nel febbraio 2015, StatCounter riferì che iOS era utilizzato sul 23,18% degli smartphone e sul 66,25% dei tablet in tutto il mondo, misurato dall'uso di Internet anziché dalle vendite.[144]
Nel terzo trimestre del 2015, una ricerca di Strategy Analytics dimostrò che l'adozione di iOS nel mercato mondiale degli smartphone aveva raggiunto un livello record del 12,1%, attribuita a prestazioni scarse in Cina e Africa.[145][146]
Fin dalla sua prima versione, iOS è stato soggetto a una varietà di diversi hack incentrati sull'aggiunta di funzionalità non consentite da Apple.[147] Prima del debutto nel 2008 dell'App Store nativo per iOS, il motivo principale per il jailbreak era bypassare il meccanismo di acquisto di Apple per l'installazione delle applicazioni native dell'App Store.[148] Apple affermò che non avrebbe distribuito aggiornamenti software iOS progettati specificamente per bloccare questi strumenti (oltre alle applicazioni che eseguono lo sblocco SIM); tuttavia, con ogni successivo aggiornamento di iOS, gli exploit di jailbreak precedentemente non patchati sono di solito patchati.[149]
Dall'arrivo dell'App Store nativo su iOS e, insieme ad esso, alle applicazioni di terze parti, i motivi generali per il jailbreak sono cambiati.[150] Il jailbreak viene effettuato per ragioni diverse, incluso l'accesso ai file di sistema, l'installazione di temi personalizzati per i dispositivi e la modifica della SpringBoard. Un'ulteriore motivazione è che può consentire l'installazione di app piratate. Su alcuni dispositivi, il jailbreak consente anche di installare sistemi operativi alternativi, come Android e il kernel Linux. In primo luogo, gli utenti effettuano il jailbreak dei propri dispositivi a causa delle limitazioni di iOS. A seconda del metodo utilizzato, gli effetti del jailbreak possono essere permanenti o temporanei.[151]
Nel 2010, la Electronic Frontier Foundation (EFF) convinse con successo l'US Copyright Office a consentire un'esenzione al divieto generale di elusione dei sistemi di protezione del copyright ai sensi del Digital Millennium Copyright Act (DMCA). L'esenzione consente il jailbreak degli iPhone al solo scopo di consentire l'aggiunta all'iPhone di applicazioni ottenute legalmente.[152] L'esenzione non influisce sui rapporti contrattuali tra Apple e il proprietario di un iPhone, ad esempio il jailbreak che annulla la garanzia di iPhone; tuttavia, si basa esclusivamente sulla discrezione di Apple in merito alla possibilità di riparare dispositivi con jailbreak nel caso in cui debbano essere riparati. Allo stesso tempo, il Copyright Office ha esentato lo sblocco di un iPhone dai divieti di elusione del DMCA.[153] Lo sblocco di un iPhone consente all'iPhone di essere utilizzato con qualsiasi operatore wireless utilizzando la stessa tecnologia GSM o CDMA per la quale è stato progettato il modello specifico di iPhone.[154]
Gestione dei diritti digitali
La natura chiusa e proprietaria di iOS ha suscitato critiche, in particolare da parte di sostenitori dei diritti digitali come la Electronic Frontier Foundation, l'ingegnere informatico e attivista Brewster Kahle, lo specialista in diritto Internet Jonathan Zittrain e la Free Software Foundation che protestarono per l'evento introduttivo dell'iPad e lo presero di mira con la campagna "Defective by Design".[155][156][157][158] La concorrente Microsoft, tramite un portavoce delle pubbliche relazioni, ha criticato il controllo di Apple sulla sua piattaforma.[159]
In questione sono le restrizioni imposte dalla progettazione di iOS, vale a dire la gestione dei diritti digitali (DRM) intesa a bloccare i media acquistati sulla piattaforma Apple, il modello di sviluppo (che richiede un abbonamento annuale per distribuire app sviluppate per iOS), il processo di approvazione centralizzato per le app, nonché il controllo generale di Apple e il blocco della piattaforma stessa. Particolarmente in discussione è la possibilità per Apple di disabilitare o eliminare in remoto le app a piacimento.
Alcuni membri della comunità tecnologica hanno espresso preoccupazione per il fatto che la chiusura di iOS rappresenti una tendenza crescente nell'approccio di Apple all'informatica, in particolare lo spostamento di Apple dalle macchine con cui gli hobbisti possono "armeggiare" e notare il potenziale di tali restrizioni per soffocare l'innovazione del software.[160][161] L'ex sviluppatore di Facebook Joe Hewitt ha protestato contro il controllo di Apple sul proprio hardware come un "orribile precedente", ma ha elogiato il sandboxing delle app di iOS.[162]
Privacy e sicurezza
iOS utilizza molte funzionalità di sicurezza sia hardware che software. Di seguito sono riportati i riepiloghi delle funzionalità più importanti.
Avvio sicuro
Prima di avviare completamente iOS, vi è un codice di basso livello che viene eseguito dalla ROM di avvio. Il suo compito è verificare che il Bootloader di basso livello sia firmato dalla chiave pubblica della Root CA di Apple prima di eseguirlo. Questo processo serve a garantire che nessun software dannoso o non autorizzato possa essere eseguito su un dispositivo iOS. Dopo che il Bootloader di basso livello termina le sue attività, esegue il bootloader di livello superiore, noto come iBoot. Se tutto va bene, iBoot procederà quindi a caricare il kernel iOS e il resto del sistema operativo.[163]
Secure Enclave
Il Secure Enclave è un coprocessore trovato nei dispositivi iOS che contengono Touch ID o Face ID. Ha un proprio processo di avvio sicuro per garantire che sia completamente sicuro. Un generatore di numeri casuali hardware è incluso come parte del coprocessore. La Secure Enclave di ciascun dispositivo ha un ID univoco che gli viene assegnato al momento della creazione e che non può essere modificato. Questo identificatore viene utilizzato per creare una chiave temporanea che crittografa la memoria in questa parte del sistema. Il Secure Enclave contiene anche un contatore anti-replay per prevenire attacchi di forza bruta (brute force attacks).[163]
Codice di accesso
Sui dispositivi iOS può essere impostata una password utilizzata per sbloccare il dispositivo, apportare modifiche alle impostazioni di sistema e crittografare i contenuti del dispositivo. Prima dell'introduzione del Face ID, i PIN erano in genere di quattro cifre numeriche. Tuttavia, poiché lo sblocco dei dispositivi con un'impronta digitale tramite Touch ID è diventato più diffuso, le password o PIN a sei cifre sono ora predefiniti su iOS con l'opzione per tornare a un PIN a quattro cifre o utilizzare una password alfanumerica.[163]
Touch ID
Il Touch ID è uno scanner di impronte digitali incorporato nel pulsante Home e può essere utilizzato per sbloccare il dispositivo, effettuare acquisti e accedere ad applicazioni tra le altre funzioni. Se utilizzato, il Touch ID archivia temporaneamente i dati delle impronte digitali nella memoria crittografata in Secure Enclave, come descritto sopra. Non è possibile per il processore del dispositivo o qualsiasi altra parte del sistema accedere ai dati non elaborati delle impronte digitali ottenuti dal sensore Touch ID.[163]
Face ID
Il Face ID è uno scanner di volti integrato nella notch sui modelli iPhone X, XS, XR, 11, 11 Pro, 11 Pro Max, 12 Mini, 12, 12 Pro, 12 Pro Max, 13 Mini, 13, 13 Pro, 13 Pro Max, 14, 14 Plus, 14 Pro, 14 Pro Max. Può essere utilizzato per sbloccare il dispositivo, effettuare acquisti e accedere ad applicazioni tra le altre funzioni. Se utilizzato, il Face ID memorizza temporaneamente solo i dati del viso nella memoria crittografata in Secure Enclave, come descritto di seguito. Non è possibile per il processore del dispositivo o qualsiasi altra parte del sistema accedere ai dati non elaborati ottenuti dal sensore Face ID.[163] Face ID, è in grado, tramite tecnologie avanzate di adattarsi ai cambiamenti di aspetto dell'utente come eventuale trucco, barba o baffi. La tecnologia Face ID, funziona anche se l'utente indossa occhiali, sciarpe o cappelli ed è molto sicura: la probabilità che qualcuno riesca a sbloccare iPhone o iPad con Face ID senza esserne il proprietario è pari a circa 1 su 1.000.000 con un solo Face ID registrato. Face ID non funziona con stampe o fotografie bidimensionali digitali perché il suo riconoscimento si basa sulla profondità del volto.
ASLR
L'Address Space Layout Randomization (ASLR) (Randomizzazione del layout dello spazio degli indirizzi) è una tecnica di basso livello per prevenire attacchi di corruzione della memoria come buffer overflow. Implica l'inserimento di dati in posizioni selezionate casualmente in memoria per rendere più difficile prevedere modi per corrompere il sistema e creare exploit. L'ASLR aumenta la probabilità che i bug delle app si arrestino in modo anomalo rispetto alla sovrascrittura silenziosa della memoria, indipendentemente dal fatto che il comportamento sia accidentale o dannoso.[164]
Memoria non eseguibile
iOS utilizza la funzione Execute Never (XN) dell'architettura ARM. Ciò consente ad alcune parti della memoria di essere contrassegnate come non eseguibili, lavorando insieme all'ASLR per prevenire attacchi del tipo buffer owerflow, inclusi gli attacchi Return-to-libc.[163]
Crittografia
Come accennato in precedenza, un uso della crittografia in iOS è nella memoria di Secure Enclave.. Quando una password o un PIN viene utilizzato su un dispositivo iOS, i contenuti del dispositivo vengono crittografati. Ciò avviene tramite un'implementazione hardware AES 256 che è molto efficiente perché è posizionata direttamente tra la memoria flash e la RAM.[163]
iOS, in combinazione con il suo hardware specifico, usa la "cripto-shredding" quando vengono eliminati tutti i contenuti e le impostazioni cancellando tutte le chiavi dall'archiviazione del dispositivo. Ciò rende tutti i dati dell'utente sul dispositivo crittograficamente inaccessibili.[165]
Keychain
Il Keychain di iOS è un database di informazioni di accesso che può essere condiviso tra le app scritte dalla stessa persona o organizzazione.[163] Questo servizio viene spesso utilizzato per l'archiviazione di password per applicazioni Web.[166]
Sicurezza delle app
iOS e iPadOS non consentono agli utenti di installare app non firmate. Le applicazioni di terze parti, come quelle distribuite tramite l'App Store, devono essere firmate in codice con un certificato rilasciato da Apple. In linea di massima, questo processo continua la catena di fiducia fino al processo di avvio sicuro, come menzionato sopra, alle azioni delle applicazioni installate sul dispositivo dagli utenti. Le applicazioni sono anche in modalità sandbox, il che significa che possono solo modificare i dati all'interno della loro directory home individuale a meno che non sia stato esplicitamente autorizzato a fare diversamente. Ad esempio, non possono accedere ai dati di proprietà di altre applicazioni installate dall'utente sul dispositivo. Esiste una serie molto ampia di controlli sulla privacy dei contenuti in iOS con opzioni per controllare la capacità delle app di accedere a una vasta gamma di autorizzazioni come fotocamera, contatti, aggiornamento delle app in background, dati della rete e accesso ad altri dati e servizi. La maggior parte del codice in iOS, comprese le applicazioni di terze parti, viene eseguita come utente "mobile" che non ha i privilegi di root. Ciò garantisce che i file di sistema e altre risorse di sistema iOS rimangano nascosti e inaccessibili alle applicazioni installate dall'utente.[167]
Bypass dell'Apple Store
Le aziende possono richiedere ad Apple certificati di sviluppatori aziendali. Essi possono essere usati per firmare app in modo tale che iOS li installi direttamente (a volte chiamato "sideloading"), senza che l'app debba essere distribuita tramite l'App Store.[168] I termini in base ai quali è concesso ciò, chiariscono che questa funzione debba essere utilizzata solo dalle aziende che desiderano distribuire app direttamente ai propri dipendenti.[168]
Tra gennaio e febbraio 2019, è emerso che alcuni sviluppatori di software stavano abusando dei certificati di sviluppatori aziendali per distribuire il software direttamente ai non dipendenti, aggirando così l'App Store. È stato scoperto che Facebook stesse abusando di un certificato di sviluppatore aziendale Apple per distribuire un'applicazione agli utenti minorenni che darebbe a Facebook l'accesso a tutti i dati privati sui propri dispositivi.[169][170][171] Google anch'esso stava abusando di un certificato Apple per distribuire un'app agli adulti per raccogliere dati dai propri dispositivi, inclusi dati non crittografati appartenenti a terze parti.[168][172] TutuApp, Panda Helper, AppValley e TweakBox hanno tutti abusato dei certificati degli sviluppatori aziendali per distribuire app che offrono software piratati.[173]
Sicurezza della rete
iOS e iPadOS supportano TLS (TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3) e Datagram Transport Layer Security (DTLS).[174] Per impostazione predefinita, il framework di sicurezza del trasporto app richiede che i server utilizzino almeno il TLS 1.2. Tuttavia, gli sviluppatori sono liberi di ignorare questo framework e utilizzare i propri metodi di comunicazione su reti. Quando il Wi-Fi è abilitato, iOS utilizza un indirizzo MAC randomizzato in modo tale che i dispositivi non possano essere monitorati da chiunque "sniffi" il traffico wireless.[175]
Autenticazione a due fattori
L'autenticazione a due fattori è un'opzione in iOS per garantire che anche se una persona non autorizzata conosce una combinazione di ID Apple e password, non può accedere all'account. Essa non richiede solo l'ID Apple e la password, ma anche un codice di verifica che viene inviato a un dispositivo che è già noto come affidabile.[163] Se un utente non autorizzato tenta di accedere utilizzando l'ID Apple di un altro utente, il proprietario dell'ID Apple riceve una notifica che consente loro di negare l'accesso al dispositivo non riconosciuto.[176]
Il sistema Apple ha delle peculiarità di funzionamento che ne determinano una diversa fruizione delle applicazioni e dei dispositivi. Uno studio della Symantec evidenzia come questo sistema operativo sia più sicuro del maggiore avversario Android grazie alle sue peculiarità, anche se ha evidenziato che è in realtà più sicuro soprattutto per via dei minori tentativi di attacco da parte degli hacker, che concentrano gli sforzi su Android in quanto maggiormente diffuso a livello mondiale rispetto a iOS[177].
Con l'aggiornamento del sistema alla versione 4.3, che introduceva un miglioramento del browser e della navigazione si è evidenziato come questi aggiornamenti non fossero abilitati per le applicazioni web (collegamenti internet)[178], questo perché l'aggiornamento ha effetto solo per il browser e non per il sistema che utilizza una visualizzatore Internet integrato[179], il problema è stato risolto con la versione 5 del sistema operativo[180].
La particolarità di questo sistema è data anche dal blocco di alcune funzionalità, o del tutto o in parte, come ad esempio il bluetooth che può essere usato solo per connettere dispositivi ausiliari, come ad esempio cuffiette auricolari, ecc.[181]
Tramite il suo store, Apple evita l'installazione di applicazioni non approvate, poiché devono prima essere vagliate e testate la loro sicurezza e un eventuale problema nel loro uso, così come la loro qualità. Questo rende più difficile l'installazione di applicazioni malevole ma al contempo limita la libertà dell'utente. I rappresentanti del movimento opensource criticano questo approccio ritenendolo troppo limitante per l'utente e ritengono che di dispositivi così limitati non possano essere equiparati a dei computer[182][183][184]. Tuttavia, è possibile evitare questo limitazione di attività attraverso una procedura ormai frequente e dichiarata legale dal Tribunale federale statunitense[185] chiamata jailbreak o in italiano "sblocco", la quale permette l'uso di applicazioni non approvate da Apple e pacchetti capaci di permettere all'utente di personalizzare il dispositivo, presenti su Cydia e sblocca anche le antifunzionalità riguardanti il bluetooth.
Al termine del 2011 sono emersi alcuni bug del sistema, di cui uno riguardante la comunicazione dati tramite reti telefoniche, che venivano permesse nel caso di download di app dallo store indipendentemente dalle impostazioni dell'utente[186]; la seconda una vulnerabilità nei test dell'approvazione di app nello store, che permetteva l'esecuzione di codice non validato[187].
Nel 2012 è emerso come le applicazioni potrebbero estrapolare le foto personali dell'utente dal proprio dispositivo[188], inoltre altre applicazioni come Path, memorizzano tutti i contatti, con i rispettivi nomi e cognomi registrati sul cellulare su cui è installata l'applicazione[189]. Problemi del genere vennero poi sistemati, all'uscita di iOS 6, con l'introduzione di appositi avvisi e impostazioni che permettono all'utente di consentire o negare alle singole applicazioni l'accesso a contatti, calendari, promemoria e immagini in modo del tutto simile a come già avveniva per la localizzazione.
Nel 2013, all'uscita di iOS 6.1, è stata individuata una falla di sicurezza che consentiva a chiunque effettuasse una precisa procedura di accedere all'applicazione telefono bypassando il codice di sblocco. In questo modo qualsiasi malintenzionato poteva effettuare telefonate, visualizzare contatti, ecc. Tali problematiche si erano già verificate in passato con le versioni 2 e 4.1 dell'OS[190] e sono state corrette con gli aggiornamenti successivi.
A differenza di Android e Windows Phone, iOS non dispone di comandi per cancellare la cache delle applicazioni installate e del sistema operativo stesso; è lo stesso sistema operativo, basato su UNIX, a effettuare manutenzione.
Confronto con Android
iOS è diretto concorrente di Android. Ogni sistema operativo ha i propri vantaggi e svantaggi, che indirizzano l'utente a scegliere in base alle proprie esigenze[191][192][193].
Nel primo trimestre del 2022, Apple ha dichiarato dai dati di vendita che sono attualmente attivi oltre 1 miliardo di dispositivi iOS in tutto il mondo[194].
Vantaggi
Svantaggi
Facilità d’uso
iCloud offre gratuitamente solo 5 GB, a differenza di Google Drive che offre 15 GB
Aggiornamenti garantiti per lunghi periodi di tempo
Costo mediamente più elevato rispetto ad Android
Performance costanti ed elevate per lunghi periodi di tempo
Personalizzazione limitata
Bassa esposizione a software dannosi, virus e malware
Applicazioni scaricabili solo dall'App Store e non da altri negozi online
Gli aggiornamenti del sistema operativo sono rilasciati contemporaneamente su tutti i dispositivi compatibili
Funzionalità come il multitasking e connettività come il Bluetooth presentano alcune limitazioni rispetto ad Android
Assistenza dedicata
Consente di installare versioni modificate del sistema operativo
^ Owen Thomas, Apple's Steve Jobs unveils new iPhone, su CNN Money, CNN, 9 gennaio 2007. URL consultato il 1º aprile 2017 (archiviato dall'url originale il 2 aprile 2017).
^Matthias Böhmer, Antonio Krüger. A Study on Icon Arrangement by Smartphone Users (archiviato dall'url originale il 12 maggio 2013).. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '13). ACM, New York, NY, USA, 2137–2146.
^Disponibile da iOS 5 a iOS 7 tramite Generale> Informazioni su> Diagnostica e utilizzo> Diagnostica e dati di utilizzo> (data e ora) .panic.plist, dopo un arresto anomalo del kernel
Disponibile in iOS 8 a iOS 10 tramite Privacy> Diagnostica e utilizzo> Diagnostica E dati di utilizzo> JetsamEvent-(data e ora).ips, quando memoria insufficiente
Disponibile in iOS 11 e 12 tramite Privacy> Analytics> Dati analitici> JetsamEvent-(data e ora).ips, quando memoria insufficiente
Disponibile in iOS 13 tramite Privacy> Analytics e miglioramenti> Dati di Analytics> SystemMemoryReset-(data e ora).ips, quando la memoria è insufficiente
^ Jon Healey, Hacking the iPhone, in Los Angeles Times, 6 agosto 2007. URL consultato il 6 agosto 2007 (archiviato dall'url originale il 6 novembre 2007).
^(EN) Threatpost - English - Global - threatpost.com, su Threatpost | The first stop for security news. URL consultato il 25 febbraio 2018 (archiviato dall'url originale il 24 febbraio 2013).