Prefazione xiii Introduzione xv Capitolo 1 Anatomia ... · xiv iPhone e iPad sotto il cofano iPhone...

25
Indice generale Prefazione .......................................................................................... xiii Introduzione ....................................................................................... xv Capitolo 1 Anatomia (comparata) di un iPhone ............................ 1 Come è fatto ................................................................................. 1 Memoria RAM, processore e sistema operativo ......................... 1 Un tipetto sensibile ........................................................................ 4 Accelerometro .......................................................................... 4 Giroscopio................................................................................ 5 Fotocamera............................................................................... 6 Microfono ................................................................................ 6 Sensore di prossimità................................................................. 7 Sensore di luce ambientale ........................................................ 7 Sensore tattile ........................................................................... 8 Sensore di umidità .................................................................... 9 Bussola ....................................................................................10 Antenna di rete per baseband ...................................................10 GPS ........................................................................................12 Bluetooth ................................................................................13 Sensore magnetico per la custodia ............................................13 Sino all’ultimo elettrone................................................................14 Che ha fatto, l’ha aperto?...............................................................16 Sotto custodia ...............................................................................18 Custodie intelligenti ................................................................20 Alimentazione (bilanciata) ........................................................20 Ricaricatori .............................................................................21 Reparto Q....................................................................................22 Autoradio ................................................................................22 Altoparlanti esterni ..................................................................23 Treppiedi .................................................................................24

Transcript of Prefazione xiii Introduzione xv Capitolo 1 Anatomia ... · xiv iPhone e iPad sotto il cofano iPhone...

Indice generale

Prefazione ..........................................................................................xiii

Introduzione .......................................................................................xv

Capitolo 1 Anatomia (comparata) di un iPhone ............................1Come è fatto ................................................................................. 1

Memoria RAM, processore e sistema operativo ......................... 1Un tipetto sensibile ........................................................................ 4

Accelerometro .......................................................................... 4Giroscopio ................................................................................ 5Fotocamera ............................................................................... 6Microfono ................................................................................ 6Sensore di prossimità ................................................................. 7Sensore di luce ambientale ........................................................ 7Sensore tattile ........................................................................... 8Sensore di umidità .................................................................... 9Bussola ....................................................................................10Antenna di rete per baseband ...................................................10GPS ........................................................................................12Bluetooth ................................................................................13Sensore magnetico per la custodia ............................................13

Sino all’ultimo elettrone ................................................................14Che ha fatto, l’ha aperto?...............................................................16Sotto custodia ...............................................................................18

Custodie intelligenti ................................................................20Alimentazione (bilanciata) ........................................................20Ricaricatori .............................................................................21

Reparto Q ....................................................................................22Autoradio ................................................................................22Altoparlanti esterni ..................................................................23Treppiedi .................................................................................24

viii iPhone e iPad sotto il cofano

Nike Sport Kit.........................................................................25Proiettori d’immagine e stampanti ...........................................25

Apple TV, un cugino distante ........................................................25

Capitolo 2 Vita, morte e miracoli di un’app .................................27Ciò che un’icona rappresenta veramente .......................................27La casa delle cose ..........................................................................27“Aprire” un’applicazione… sul serio .............................................29Cuore aperto ................................................................................31Firma digitale ...............................................................................33A prova di falsario .........................................................................34Abbiamo già dati ..........................................................................35Il dito nei dati ...............................................................................37Il lancio dal disco ..........................................................................39cAPPitan Findus ...........................................................................41

Capitolo 3 Fuga per la vittoria ......................................................43Fuori di prigione ..........................................................................43

Il telefono sradicato .................................................................45Tutti i gusti del jailbreak ..........................................................46

Prendete il bisturi e incidete sulla linea tratteggiata ........................48Adesso c’è, adesso non c’è più ..................................................50Ci metto la firma .....................................................................51

In Cydia .......................................................................................54Insidia .....................................................................................56Cydia, uso e dosi ......................................................................61

Capitolo 4 A cofano alzato.............................................................65Il tuning prestato all’elettronica di consumo ..................................65

Tema di classe ..........................................................................66Una marcia in più .........................................................................70

Non è un iPhone per vecchi ....................................................71Aggiungi un disco a tavola .......................................................73

Un iPhone come un PC ...............................................................74Le mani dentro alle app .................................................................78

Dare il multitasking a Cydia .....................................................79Da non perdere su Cydia .........................................................81

Capitolo 5 Ognuno di noi è Unix ...................................................85Il terminale è mobile qual piuma al vento .....................................86

Esprimersi a gesti .....................................................................88Le preferenze dell’editore .........................................................90Mettere la freccia .....................................................................91

Il Terminale scatenato ....................................................................94La shell e l’ABC ......................................................................94

Indice generale ix

grep: spremuta di righe ................................................................103Espressioni regolari ................................................................104Uno, nessuno e centomila ......................................................105

Permessi e privilegi .....................................................................107Root, potere assoluto .............................................................109Diventare root stabilmente .....................................................110

Shell senza jailbreak ....................................................................110La shell sicura ........................................................................110

Capitolo 6 Il Web e io ....................................................................115Nella giungla del Web palmare ....................................................115Safari sotto al cofano ...................................................................1161Password e il Web sicuro ............................................................117Uso avanzato di Safari .................................................................119Navigatori alternativi ..................................................................121

Atomic Web ..........................................................................122Skyfire ...................................................................................122Opera Mini ...........................................................................122360 ........................................................................................123iCab Mobile ..........................................................................123

Sito web a prova di 2020 .............................................................124Una gentile eutanasia per Flash, Silverlight e compagnia cantante ............................................................124“Richiede uno schermo da X per Y pixel” puzza di anni Novanta .....................................................................124Dita, non topi ........................................................................125Dogfooding ...........................................................................125

Più ricco, più bello, più ghiotto ...................................................126Rimodulate i moduli .............................................................126Esercizio di stile .....................................................................127Iconico ..................................................................................127Solo per i tuoi occhi ..............................................................127

Il Web si fa in app .......................................................................129Qualche riga sugli editori ............................................................129

Il futuro si chiama HTML5 ...................................................130Un sito, una rivista ......................................................................131HTML o libro? ...........................................................................133

Una bevuta veloce all’ePub ....................................................134Fondare il proprio ePub (e darlo a bere a tutti) .......................134Creare l’ePub.........................................................................137Convalidare l’ePub ................................................................137

Editore fino a un certo punto .....................................................140Talmente Web che è quasi app .....................................................140

x iPhone e iPad sotto il cofano

Capitolo 7 All’attacco! ..................................................................141Ti tasto .......................................................................................141

Fai finta di essere una chiavetta USB ......................................143Scambio documenti in rete senza fili ......................................145Ti attacco a un monitor (o un proiettore) ..............................147

Stampa che ti passa ......................................................................151Mamma, guarda: senza cavi ..........................................................154

Datemi un Wi-Fi e solleverò un AR.Drone Parrot .................155And one more thing… ..........................................................156

Capitolo 8 Volendo C bene ..........................................................159Codice (non più) segreto ............................................................159

La strada maestra ....................................................................160Le scorciatoie.........................................................................163

Linguaggi: capiamoci bene ..........................................................164Flash? Grazie ma no, grazie ....................................................166Quello che offre il mercato ....................................................168

Xcode: installazione e sguardo superficiale ...................................172Buon divertimento... ..............................................................180

Capitolo 9 Esse-i-o-esse ...............................................................181Niente lacrime di coccodrillo .....................................................182

iTunes o iCloud? ...................................................................182AppleCare e garanzie .............................................................185

Houston, abbiamo un problema in tasca ......................................188Un programma (un’app) non risponde più ai miei comandi .....................................................................189Il programma continua a non obbedirmi ed è la versione più aggiornata ......................................................189Niente, il programma continua a dare segni di squilibrio ........189Non so più che pesci pigliare .................................................189Magari fosse solo un programma, si è bloccato tutto il dispositivo ..................................................................189Anche il riavvio forzato non è servito ....................................189Apple, sono alla frutta ............................................................190

Amo il tuo bel fisico ...................................................................192Polli di batteria ......................................................................192Un bel disco, per finire ..........................................................194

Capitolo 10 Il conto del fruttivendolo ..........................................197Mela compro ..............................................................................198L’ID Apple ..................................................................................198

ID Apple senza carta di credito ..............................................199Acquisto di musica e app senza carta di credito ......................200Condivisione dell’ID Apple ...................................................201

Indice generale xi

Sopravvivere agli addebiti di Apple ..............................................203Abbonamenti e… abbuonamenti ...........................................205Carico e scarico .....................................................................208

Capitolo 11 Questo l’ho scoperto io! ............................................211Catturare le schermate e le foto ...................................................211VoiceOver ..................................................................................212Per leggere un grande testo ci vuole un testo grande ...................213No, il bagnetto no! ......................................................................214Aspetta un attimo .......................................................................214Non mi trovo .............................................................................214Ricordarsi di spegnere la suoneria ...............................................215Fotografie estemporanee .............................................................215E concerti improvvisati ...............................................................216Più sequenze fotografiche ...........................................................216Piattaforma di lancio ...................................................................217Che tempo farà (ora)...................................................................218Striscia… la pigrizia ....................................................................218Maiuscole in blu .........................................................................219Note degne di nota .....................................................................219Facciamola breve.........................................................................219Magiche apparizioni ...................................................................220Fermate lo schermo, voglio scendere ...........................................222Corso rapido di fotografia HDR .................................................222Chi si è mosso? ...........................................................................223Il garante della privacy ................................................................223Corso rapidissimo per aspiranti registi cellulari ............................223Chi siamo, dove andiamo ............................................................226Pecorella smarrita ........................................................................227Scosse diversamente elettrizzanti .................................................228Monofonia e stereotipi ................................................................228Dottore, c’è una chiamata in arrivo .............................................228Tastiera alla Mosè ........................................................................228Condividendo .............................................................................229Dal produttore al consumatore ....................................................230Pur non vedendone l’utilità .........................................................231Lei non sa chi sono io .................................................................231Chi iTunes trova .........................................................................231Horror vacui ...............................................................................233Dall’esterno all’interno ...............................................................233Saldi di garanzia ..........................................................................234Dati mal conservati .....................................................................235

Indice analitico..................................................................................237

Prefazione

L’invito a introdurre un libro di Luca Accomazzi mi lascia confuso e felice, per citare la cantautrice Carmen Consoli.Confuso in quanto sarà troppo facile per qualche malalingua pensare che scriverò bene del volume, dato che io e Luca siamo amici. Verissimo: dal secolo scorso (e ben prima del 31 dicembre 2000) per me non è Luca Accomazzi, ma Akko. Condividiamo imme-morabili, nel numero, e memorabili, nel divertimento, serate di gioco tra amici. Abbiamo collaborato per anni alla stessa rivista e siamo coautori di svariati libri. È stato mio col-laboratore nel momento in cui coordinavo alcuni periodici di informatica e sono stato suo collaboratore quando sono stato onorato di poter dare una mano al suo business di informatico e programmatore.Ciò non toglie che, come lui stesso non manca di dichiarare senza peli sulla lingua, sono la persona con la quale più di tutte ama essere in disaccordo. Le sue convinzioni sulla traiettoria di Apple non sono proprio le mie e troviamo modo di accapigliarci su molte altre questioni sempre signorilmente e con cavalleria, come testimoniano i miei stinchi e il suo cuoio capelluto. È perché siamo amici veri, e gli amici veri sono quelli che sanno contraddire ed essere in disaccordo. Se avete amici che vi dicono sempre e solo di sì, al massimo sono buoni come musicisti (fategli aggiungere dei fa e dei do, così lavorano loro e voi ci guadagnate) e nient’altro.Avrei per esempio orientato questo libro più verso la programmazione di apparecchi iOS regolari e la programmazione interna di varie applicazioni iOS di utilità più ordi-naria; avrei parlato meno di jailbreak, perché il mio giudizio sull’interesse effettivo che una persona normale può avere verso Cydia si ferma a qualche tema grafico e qualche utility, in cambio di maggiori problemi di sicurezza e mal di testa vari per procedere al jailbreak ogni volta che arriva un aggiornamento del sistema. Con un App Store che mentre si sfogliano queste pagine avrà superato il mezzo milione di programmi disponibili in poco più di tre anni (cifre che, per dire, Windows non vedrà mai pur andando per i trenta), parlare di jailbreak non è quello che farei io. Però il libro è di Akko e per questo, appunto, definito il mio essere confuso, mi ritrovo ampiamente felice.Akko è probabilmente secondo in Italia al solo Umberto Eco nella conoscenza della materia che trasmette nei suoi libri. E dico probabilmente per questioni di quantità e rispetto della canizie: se vi mettete a fare le pulci a Eco, troverete non poche magagne in mezzo alle montagne di nozioni che vengono accumulate pagina dopo pagina e lo salva, semmai, la smisurata quantità. Dopo aver visto le bozze degli impaginati di questo

xiv iPhone e iPad sotto il cofano

iPhone e iPad sotto il cofano, posso garantire che di magagne io non sono riuscito a tro-varne. E la quantità è ottima.Se si parla di informatica, un altro come Akko qui non si trova. Perché è l’unico che riesce a scrivere libri, propriamente, sotto il cofano.In libreria sono esposti sugli scaffali decine di testi che fanno da manuale che non c’è, arrivano in soccorso dei negati o prendono un menu e lo sviscerano comando dopo comando e parametro dopo parametro. Scritti spesso molto bene, frutto di grande or-ganizzazione, frizzanti nello stile, mai noiosi, documentati alla virgola, ideali da tenere accanto al computer per imparare. Ce ne fosse qualcuno che spiega, oltre a come si spacca il capello in sedici, perché il capello si spacca in sedici. E come il computer spacca il capello in sedici quando è stato dato il comando.Akko queste cose le sa, le sa da sempre per studio e per applicazione concreta, le sa spie-gare, si diverte nello spiegarle e fa divertire il lettore nel leggerle. Tutto valore aggiunto che potrebbe far sottovalutare la competenza e le nozioni presenti in questo libro, le quali sarebbero inestimabili anche dove a scrivere fosse un notaio annoiato (con tutto il rispetto per la categoria). Passate queste paginette di prefazione, si troveranno centinaia di cose che rendono ancora più orgogliosi i proprietari di un dispositivo iOS (qualunque; questo libro è meravigliosamente trasversale quanto ad apparecchi e versioni del sistema operativo, a parte alcuni accenni a novità esclusive di iOS 5 e per questo doverose da riportare). Lettori, persone che sapranno non solo quante e quali meraviglie possa operare il proprio iPhone o iPad o iPod touch, ma anche perché e come. E che eventualmente, qualsiasi sia il mio giudizio, troveranno qui tutto il necessario per aggirare le limitazio-ni di sicurezza imposte da Apple a iOS e trasformare il loro apparecchio da tasca o da borsetta in un computer che cinque anni fa chiunque avrebbe descritto come futuribile.iPhone e iPad sotto il cofano fa riferimento al cofano di uno scrigno. Dentro iOS si trovano tesori di conoscenza e questo libro è un autentico forziere di informazioni, brillanti per il valore e per il modo in cui vengono presentate. È un modo di dire del quale si abusa spesso, e però ha una ragione d’essere: una volta letto questo libro, la nostra libertà di usare il meglio di iOS al massimo delle sue possibilità non sarà la stessa di prima. Queste pagine sono gli occhiali 3D che penetrano lo schermo di iPhone e aggiungono tutta la profondità che serve a capirne il funzionamento e le peculiarità. E niente è fine a se stesso, ma dà vantaggi applicabili alla vita reale e all’uso quotidiano di iOS.Prima di terminare, ringrazio Akko e l’editore per avermi dato l’opportunità di scrivere queste righe. Avendo pubblicato qualche libriccino anch’io, a volte siamo stati paragonati in chiave Apple (io in trentaduesimo, lui in sedicesimo) a due grandi della fantascienza, Arthur C. Clarke e Isaac Asimov. Figure autorevoli nel loro campo, che si trattavano vicendevolmente in pubblico con finta ostilità a mascherare (malamente) una reciproca ammirazione e stima. Ecco, Clarke ha scritto almeno una prefazione per Asimov e io non ero ancora arrivato a scrivere una prefazione per Akko. Da clarkiano di ferro, era un obiettivo che mi mancava. Ora l’ho raggiunto.Peraltro, non daranno mai il mio nome a un’orbita terrestre come hanno fatto con Clarke. Mentre Akko, al pari di Asimov, è un eccellente conoscitore di fantascienza. E scrive altrettanto bene.

Lucio Bragagnolo

[email protected]

Ottobre 2011

Introduzione

A proposito del dinamico trio iPhone, iPad e iPod Touch è già scorso inchiostro a fiumi. Visto che siamo entrati nel secondo decennio del nuovo millennio, forse sarebbe più appropriato dire che “si sono accesi pixel a miliardi” o addirittura “sono scorsi elettroni a fiumi”. Ma sto divagando.Nonostante la profusione di parole già spese sull’argomento, ci tenevo a scrivere que-sto libro, per una serie di motivi che mi intestardisco a considerare validi (se lo siano, giudicatelo voi).Tutti i testi che ho avuto occasione di sfogliare si presentano come “il manuale per utenti finali che quei paperoni della Apple non hanno infilato nella custodia”. Se c’è una cosa di cui un iPhone non ha bisogno, però, è un manuale. Per cominciare a usarlo basta at-taccarlo al cavo, ha un solo tasto e quindi è un po’ improbabile che l’utente si confonda e non sappia quale sia quello giusto da premere.Tutti i siti web che mi è capitato navigare, poi, fanno il loro degno lavoro di siti web: testi brevi per dare una notizia o per impartire una informazione, ma isolata. Buona fortuna, per esempio, se state cercando su Internet, tutto d’un pezzo, una spiegazione precisa e completa di cosa sia il jailbreak, come funzioni, perché Apple lo osteggi, come si faccia, che vantaggi e che pericoli porti con sé. Un altro esempio: come risparmiare davvero sui costi complessivi d’esercizio dell’apparecchio.Tra due copertine morbide, invece, c’è spazio per impostare un discorso delicato, e por-tarlo avanti con lo spazio che si merita. Qui ho cercato di presentare il sistema operativo iOS, che dà vita a questi straordinari dispositivi, scavando più a fondo. Apple ha fatto tutta una serie di scelte che l’hanno reso ciò che è, e che hanno comportato certi pregi e certi difetti ben distinti da quelli che si incontrano sui dispositivi concorrenti come Android. Mi sembra importante, ma anche utile, capirle. Scoprire come fa a funzionare il dispositivo – per carità, senza entrare in tecnicismi da ingegnere o da programmatore professionista – significa avere una marcia in più. È un po’ come dire che si può benis-simo guidare una vettura senza avere alcuna idea di come funziona sotto al cofano, però chi ne capisce un po’ di motori può guidarla meglio, intuire tutto ciò che è possibile chiedere ai suoi meccanismi, rimediare ai guasti senza perdere tempo, calma e quattrini; e pure spendere meno di carburante. Fuor di metafora, vedremo come mantenere in forma il sistema operativo ma anche la macchina fisica, per esempio, come ottimizzare l’uso delle batterie o come cambiare il connettore degli auricolari se si scheggia. Come espanderlo e quali tipologie di accessori anche poco comuni esistono sul mercato. Come

xvi iPhone e iPad sotto il cofano

personalizzare le app esistenti o addirittura scrivere piccole app per uso personale. Come collegarlo alla rete dell’ufficio o di casa e sfruttarne appieno risorse come le stampanti. Come proteggerlo dal furto e come ripulirlo dai nostri dati se vogliamo rivenderlo. Come usarlo al massimo delle sue potenzialità su Internet ma anche come aggiornare il proprio sito web perché riconosca e si avvantaggi di tutte le capacità di questi straordinari piccoli dispositivi quando un visitatore li utilizza per navigarlo. Mi fermo qui, ma se avete preso in mano questo libro in una libreria, sfogliatelo e leggete le primissime righe all’inizio di ciascun capitolo per avere un’idea più precisa degli argomenti (il sommario iniziale invece vi direbbe meno per colpa di un mio antico difetto: amo i giochi di parole e ne faccio abuso nei titoli).

Informazioni di servizio prima di girare la pagina. Il mio indirizzo di posta elettronica è [email protected] ma soprattutto la piccola community che ho messo in piedi con i miei lettori e per i miei lettori si trova su http://liste.accomazzi.net; se avete domande commenti o osservazioni li leggerò molto volentieri.Ringrazio mia figlia Alina per essersi arricchita a mie spese pretendendo un centesimo per ogni refuso trovato nelle bozze; l’amico Lucio Bragagnolo per i consigli profusi (specialmente quelli in orari inverosimili) e l’editore Fabio Brivio che ha creduto in quest’opera sin dalla prima mail, anche se devo dire che prenotare una Maserati contando sugli incassi forse è stato un filino eccessivo da parte sua.Umettate il dito se avete scelto la carta e tenetelo asciutto se avete preferito l’ebook. Alziamo il cofano.

Luca Accomazzisettembre 2011

In questo capitolo• Ciò che un’icona

rappresenta veramente

• La casa delle cose

• “Aprire” un’applicazione… sul serio

• Cuore aperto

• Firma digitale

• A prova di falsario

• Abbiamo già dati

• Il dito nei dati

• Il lancio dal disco

• cAPPitan Findus

Capitolo 2

Vita, morte e miracoli di un’app

Ciò che un’icona rappresenta veramenteDentro ad iTunes si vede solo un’icona e a scaricarla si vede soltanto un singolo elemento, come se fosse un documento isolato. Nella realtà, però, un’app contiene una gran quantità di materiale disomogeneo. Un videogioco, per esempio, può essere visto come la somma di un’icona, una colonna sonora, diverse schermate grafiche con gli sfondi, gli sprite (ovvero le figure animate dei personaggi e degli oggetti in mo-vimento), il documento con la classifica dei punteggi più alti ottenuti e naturalmente il codice eseguibile che iOS esegue sul dispositivo.

La casa delle coseDiamo uno sguardo più approfondito al calcolato-re. Se possedete un Mac, la cartella dove vengono registrate le app è normalmente dentro alla vostra cartella personale (icona della casetta), in Musica/iTunes/Mobile Applications. Su un PC, la posizione equivalente è dentro la vostra cartella personale e da lì in My Documents\My Music\iTunes\Mobile Applications.Sia gli utenti di Mac OS X sia quelli di Windows potrebbero aver cambiato questa posizione: se l’ave-te fatto e non ricordate esattamente i dettagli, date un’occhiata nelle preferenze di iTunes. Fate clic sull’icona dell’ingranaggio a destra (le impostazioni Avanzate) e apparirà il percorso completo della car-tella dove iTunes registra canzoni, film e applicazioni

28 Capitolo 2

iOS. Spostare la posizione, tra l’altro, è una soluzione spiccia ed efficace quando il vostro disco rigido principale comincia a scarseggiare di spazio libero e volete trasferire tutto il materiale extra su un disco esterno, un disco interno secondario oppure un volume di rete. Tenete però presente che a ogni avvio iTunes verifica che questa cartella esista. Quindi, se spostate musica e app su un disco esterno mentre siete a casa, poi lo scollegate, mettete in borsa il portatile, andate in ufficio e lì avviate iTunes, in quel preciso momento il programma ripristinerà la posizione iniziale della sua cartella nelle preferenze. Quando tornerete a casa, il disco secondario verrà del tutto ignorato sino a quando non visiterete di nuovo le preferenze e lì selezionerete la cartella con il materiale.Per ciascuna applicazione che avete scaricato vedrete una singola icona. Il nome è dato dal nome (lo stesso che vedete sullo schermo del dispositivo) più il numero di versione e l’estensione .ipa (Figura 2.1).

Figura 2.1 Lo spassosissimo videogioco “Cut the Rope” nella sua posizione (non standard) su un Macintosh, dentro al documento .ipa.

SUGGERImEnTO

Se siete su un Macintosh e non vedete l’estensione .ipa dopo il numero di versione, andate nel menu Finder alla voce Preferenze. Fate clic sull’icona Avanzate e spuntate la casella chiamata Mostra tutte le estensioni dei nomi documenti.

Il nome ipa deriva dall’acronimo iPhone Application. Il formato degli elementi .ipa è condiviso da tutte le varianti di dispositivi iOS – oggi come oggi, iPhone, iPad e iPod touch – e quindi il nome resterà il medesimo anche se domani Apple lancerà sul mer-cato un nuovo prodotto il cui marchio non comincia con le lettere iP, come una iTV oppure una iCar.

Vita, morte e miracoli di un’app 29

“Aprire” un’applicazione… sul serioPrendete un’applicazione di cui volete scoprire i segreti e fate una copia del suo docu-mento .ipa su un disco dove avete un po’ di spazio per lavorare. Io ho scelto il videogioco “Cut the Rope” (che, per inciso, consiglio spassionatamente a chiunque, nella versione originale e nelle sue varianti), ma voi potete prendere una cosa qualsiasi. Lasciate l’originale dell’elemento .ipa dentro alla cartella Mobile Applications e spostate la copia sulla quale lavorerete in un altro punto, in modo da non correre il rischio di scombinare iTunes.Ora cambiate nome all’elemento, sostituendo l’estensione .ipa con .zip. Dovete infatti sapere che Apple, per minimizzare il tempo necessario agli scaricamenti, comprime nel formato standard .zip tutte le app che vengono trasferite dai suoi server ai nostri dispositivi.A nome cambiato, cambierà anche l’icona. Il vostro sistema operativo toglierà alla copia il simbolo di iTunes e le impartirà l’icona di un archivio compresso. Decomprimetelo con un doppio clic e vi troverete una cartella con lo stesso nome dell’app che stiamo dissezionando, compreso il numero di versione. Quel che state facendo è esattamente la stessa cosa che farebbe il sistema operativo iOS quando installa un’app appena caricata sul dispositivo e la prepara per il primo avvio.Quando aprite la cartella troverete al suo interno tre elementi, chiamati sempre e comun-que iTunesArtwork, iTunesMetadata.plist e Payload. Quest’ultimo è a sua volta una cartella.Il sistema operativo iOS non riconoscerebbe l’elemento .ipa come valido se non conte-nesse esattamente, sempre e soltanto, questi tre oggetti. Il primo è semplicemente l’icona della nostra app, registrata nel formato .icns che è standard anche su Mac. Cambiate il nome di iTunesArtwork in iTunesArtwork.icns. Se possedete un Mac, a questo punto potrete fare doppio clic e vedere l’icona a pieno schermo, in tutta la gloria dei suoi 512×512 pixel (Figura 2.2).Se possedete un computer Windows e volete guardare l’icona alla massima qualità pos-sibile vi serve un piccolo passaggio in più. Fate un salto sul sito http://converticons.com dove potrete caricare il documento iTunesArtwork.icns e ottenere in cambio l’equivalente file leggibile da Windows in formato .ico.Veniamo al secondo documento, e cioè iTunesMetadata.plist. Si tratta stavolta di un docu-mento testuale che descrive le metainformazioni sulla nostra app, cioè chi ne è l’autore, di che genere è, qual è il numero di versione e via dicendo.Questo documento è meglio leggibile con un comune editor di testo di quanto non lo sia con Word e altri programmi di videoscrittura complessa. Su Mac ci si rivolge a pro-grammi come il gratuito TextWrangler o il professionale BBEdit (entrambi disponibili su barebones.com). Per Windows potrebbero andare bene NotePad++ (notepad-plus-plus.org) oppure jEdit (jedit.org), gratuito e di uso universale per qualsiasi computer.iTunesMetadata.plist si leggerà perfettamente e si vedrà anche come la sua struttura sia alquanto impegnativa da leggere per un essere umano. Si tratta infatti di un documento in formato XML. Questo è l’acronimo di Extensible Markup Language e dà il nome al capostipite dei moderni linguaggi cosiddetti di marcatura, che usano speciali sequenze di caratteri per contrassegnare il testo in modo che assuma un significato logico specifico all’interno del documento. Non è comunque questo il libro in cui approfondire l’utilizzo dei linguaggi di marcatura.

30 Capitolo 2

Figura 2.2 L’applicazione aperta e con l’icona (rinominata) in evidenza.

Per avere un esempio immediato e più comprensibile del loro funzionamento è suffi-ciente esaminare il codice di una pagina web. Lo potete fare con qualsiasi browser; con Safari, aperta la pagina, premete Cmd+Opt+U. Le moderne pagine web sono scritte in linguaggio XHTML o HTML5, due derivazioni di XML, e i marcatori sono racchiusi dentro i segni minore-maggiore. Così, per assegnare a una riga di testo il ruolo di titolo della pagina (visibile nella barra del titolo della finestra del browser), prima del testo in questione si troverà il codice <title> e alla fine comparirà </title>.Se avete problemi con l’apertura, il sistema più rapido per leggere questo documento è di cambiargli nome in iTunesMetadata.txt e procedere. Se volete fare le cose per benino, però, avete una strada maestra da imboccare. Su un Mac dovrete scaricare e installare il pacchetto gratuito Xcode (dal sito http://developer.apple.com/xcode). Per quanti abbiano installato OS X Leopard 10.6.6 o superiore, oppure OS X 10.7 Lion, Xcode è scarica-bile direttamente e gratuitamente da App Store per Mac. Su un PC dovrete rivolgervi a

Vita, morte e miracoli di un’app 31

pList Editor for Windows, scaricabarile dal sito http://www.icopybot.com/plist-editor.htm in versione Lite, gratuita, o in versione Pro a pagamento. Xcode, pList Editor e gli altri programmi del loro genere hanno il pregio di rendere visibile il solo testo rilevante del documento, nascondendo tutta la parte di marcatura che ne appesantisce la consultazio-ne, e sono tipicamente usati dagli sviluppatori in fase di creazione e modifica delle app.Qualunque strada abbiate scelto, quando l’avrete aperto noterete che contiene un sacco di informazioni. Proprio all’inizio si trova il vostro nome. Tutte le app vengono infatti etichettate al momento dello scaricamento con il none dell’acquirente. È una blanda forma di dissuasione contro la copia abusiva e la pirateria. Più sotto troverete anche la data in cui avete scaricato la vostra app e il prezzo a cui l’avete pagata. La maggior parte delle informazioni che trovate qui viene però direttamente dallo sviluppatore: la sua identificazione innanzitutto, ma anche genere e sottogenere del software. Per esempio, “Cut the Rope” sostiene di essere un “gioco” di sottotipo “rompicapo” e “per tutta la famiglia”, mentre altri giochi potrebbero presentarsi come “videogioco”, “avventura” e via dicendo.Avrete notato che, quando create una cartella sul vostro dispositivo iOS con lo scopo di raggruppare le app, viene offerto automaticamente come nome della cartella il nome del genere (per esempio, se trascinate l’icona di un gioco pensato per i più piccini su quella di un altro gioco simile, la cartella che iOS si offre di realizzare per voi si chiamerà giochi bimbi). Sembra una magia, ma in effetti tutto quel che iOS fa è di sbirciare qui dentro per scoprire qual è il genere dell’applicazione che stavate catalogando.

Cuore apertoSin qui abbiamo esaminato le metainformazioni, cioè ciò che serve al calcolatore e al dispositivo per presentare l’app e sapere di cosa si tratta. L’app vera e propria, ovvero il materiale che la compone e che viene usato per eseguirla, è dentro alla cartella Payload. Per aprire l’elemento che trovate dentro a Payload e che ha estensione .app se siete su un Mac, dovete fare clic con il tasto destro del mouse (oppure Ctrl+clic se il vostro mouse ha un solo pulsante) e selezionare Mostra contenuto pacchetto dal menu che appare. È esattamente lo stesso trucchetto che utilizzereste per aprire un’applicazione Mac OS X dalla sua posizione dentro alla cartella Applicazioni del Mac, rivelando una volta di più le grandi similarità tra il sistema operativo iOS e il suo fratello maggiore che gira sui calcolatori da tavolo.Su un PC non c’è nulla che vi impedisca di aprire la cartella .app, perché Windows non ci trova niente di speciale rispetto a una directory delle sue.Dentro “Cut the Rope” io ho trovato 352 elementi. Ci sono tutte le immagini, gli sfondi, i video di apertura e di chiusura, le musiche (in formato CAF), tutti tranquillamente apribili, ascoltabili, guardabili. Il codice eseguibile – quello comprensibile solo da un microprocessore della serie ARM usata su ogni iPhone, iPad e iPod touch mai prodotto – non ha estensione e occupa “solo” 3 MB di spazio, un settimo rispetto al totale. In un videogioco sparatutto la proporzione potrebbe essere ancora minore, perché ci sarebbero ancor più personaggi, suoni e sfondi a farla da padrone.Ho trovato anche tutti i livelli, ciascuno memorizzato in un documento testuale con estensione .xml che elenca tutti gli obiettivi da raggiungere, la posizione iniziale del personaggio e dei suoi avversari e così via.

32 Capitolo 2

L’app che avete aperto potrebbe contenere anche documenti in formato .nib: in questo caso si tratta di risorse che spiegano al programma come creare le finestre di dialogo, cioè quelle schermate ricche di pulsanti da premere, form, caselle da spuntare e via dicendo (Figura 2.3). Vedremo nel capitolo dedicato a Xcode come si generano e mantengono questi documenti.

Figura 2.3 Documenti XML, audio in formato CAF, elementi grafici… questo e altro fa parte della struttura di un videogioco per iPhone o iPad. I documenti presenti all’interno di un gioco possono essere anche molte centinaia.

Inoltre, l’applicazione può contenere un gran numero di bundle. Anche in questo caso si tratta di un pacchetto che, su Macintosh, richiede l’uso del tasto destro del mouse per venire aperto. All’interno si troveranno altre immagini, filmati, suoni e documenti e codice. L’idea generale qui è che un’app può venire costruita sulla base di “mattoni” già preparati, dal medesimo sviluppatore o da altri. Se una casa produttrice di software si specializza in videogiochi per iPad probabilmente si impegnerà una volta per tutte nel creare un codice generalista che possa sincronizzare movimenti dei personaggi e suono:

Vita, morte e miracoli di un’app 33

a questo punto incapsulerà il tutto in un pacchetto, un bundle appunto, e lo includerà pronto per l’uso in ogni suo prodotto.

Firma digitaleInfine, la cartella dell’applicazione contiene tre documenti che vengono utilizzati per garantire che un’applicazione acquistata dall’utente A per il suo iPhone non possa troppo facilmente venire trasferita, installata ed eseguita sull’iPad dell’utente B una volta tolta la protezione con la tecnica del jailbreak, che vedremo nei prossimi capitoli.

nOTA

La protezione che Apple ha deciso di impartire iTunes applica e iOS rispetta è detta Fair-Play. Questo comportamento viene chiamato nella moderna informatica DRM, acronimo di Digital Rights Management (gestione dei diritti digitali), che indica una tecnologia di controllo degli accessi al materiale coperto dal diritto d’autore.

Si tratta dei documenti sinf e supp dentro alla cartella SC_Info e del documento CodeRe-sources dentro alla cartella _CodeSignatures. Si tratta in sostanza di una “firma” del pro-prietario dell’hardware (condivisa dunque da tutti i dispositivi iOS di vostra proprietà, e infatti vi è consentito di caricare le app che acquistate su un gran numero di iPhone, iPad e iPod touch) e di un certificato digitale che vi consente di eseguire questa app sui dispositivi in questione. Di conseguenza, trasferire l’app su un apparecchio altrui e copiarla in posizione grazie al jailbreak non è sufficiente per poterla usare (per quanto illegalmente).La protezione, per la verità, non è delle più robuste. Il legittimo proprietario di un’ap-plicazione può rimuovere la protezione piuttosto facilmente, a patto di possedere un dispositivo che ha subìto il jailbreak, e a questo punto la copia non protetta girerà su qualsiasi altro dispositivo iOS aperto dal jailbreak. Inoltre, la protezione viene applicata da iTunes subito dopo l’acquisto e lo scaricamento dell’app, dunque un malintenzionato che conosce bene il funzionamento dell’Internet può intercettare il traffico di rete e ottenere una copia non protetta di ogni app che viene scaricata, prima che venga “blin-data” e personalizzata per l’acquirente.Apple non è arrivata a misure estreme per proteggere dal furto il lavoro degli sviluppatori per due motivi, entrambi eccellenti dal punto di vista della casa di Cupertino. Primo, una protezione eccessiva avrebbe certamente significato grattacapi e scomodità in più per gli utenti onesti, che avrebbero potuto finire invischiati in situazioni sgradevoli loro malgrado. Per esempio, non fatico a immaginare protezioni “blindate” con le quali un legittimo acquirente si trova tagliato fuori dai suoi acquisti dopo aver semplicemente sostituito il suo iPhone 3GS con un iPhone 4S. Secondo fattore: ad Apple non interessa affatto affrontare spese ingentissime con l’obiettivo di liquidare completamente la pirateria del software, ma soltanto dissuadere quanti potrebbero “distrattamente” farsi passare da un amico una copia dei programmi su cui non hanno diritto. Apple, insomma, vuole solo mantenere il suo ecosistema in salute e sostenibile per gli sviluppatori (che non possono lamentarsi troppo dei furti che subiscono, visto che sono quantitativamente modesti; si valuta che meno del due virgola cinque percento dei dispositivi iOS abbia subìto il jailbreak e sia pertanto utilizzabile per la pirateria del software).

34 Capitolo 2

La presenza del DRM ha una conseguenza importante anche per chi non si sognereb-be mai di depredare gli sviluppatori di software della legittima ricompensa per le loro fatiche: è impossibile apportare modifiche anche minime e innocenti a un’app. Se ci si prova, essa smette di funzionare.Per esempio, se adesso provassi a modificare uno dei livelli di “Cut The Rope”, per spostare un tesoro o eliminare un mostro, non appena io ricaricassi l’app modificata nella memoria del mio iPhone 4 mi troverei con un gioco del tutto non funzionante.

A prova di falsarioIl DRM concettualmente funziona come una firma digitale apposta dall’autore del soft-ware sul suo lavoro finito o, se preferite, come una filigrana su una banconota. Se viene alterata l’opera, anche minimamente e marginalmente, la filigrana viene riconosciuta come alterata e voi venite accusati di essere dei falsari. O, in altri termini, iOS si rifiuta di eseguire l’app da voi modificata (Figura 2.4).

Figura 2.4 Basta cambiare un sol bit, e quando provate a sottoporre un documento .ipa ad iTunes vi troverete di fronte a un netto rifiuto.

Sarà capitato anche a voi, alle scuole elementari, che la maestra insegnasse la “prova del nove”. Era un metodo per verificare la bontà di un calcolo e, di base, si trattava di sommare ripetutamente tutte le cifre di un numero sino a ottenere una cifra sola. Per esempio, partendo dal numero 98.051 si otteneva 9+8+0+5+1=23, poi 2+3=5. Sostituendo a tutti gli elementi dell’operazione la rispettiva cifra singola, si ripeteva l’operazione stessa. Se la cifra singola ricavata dal risultato originale coincideva con il risultato della stessa operazione applicata alle cifre singole, il calcolo era stato con tutta probabilità eseguito correttamente.iOS fa qualcosa di molto simile quando deve verificare la bontà di un’applicazione. Im-maginate che prenda tutti i dati digitali che la compongono, li interpreti per un attimo come numeri (e non come suoni, immagini, codice…) e li sommi. Alla fine della sua “prova del nove” il sistema operativo si trova davanti a una sommatoria finale (tecnica-mente si chiama hash) che compara con il medesimo valore pre-computato da Apple e registrato dentro a SC_Info. L’operazione di hash effettivamente usata in iOS è più lunga e complessa di una semplice prova del nove, la quale termina con una cifra sola. iOS usa una forma di hash chiamata SHA-2 che computa 512 cifre binarie. Chi avesse voluto ingannare la maestra delle elementari avrebbe avuto una possibilità su dieci, perché pro-vando una cifra a caso tra zero e nove avrebbe potuto azzeccarla. Chi vuole ingannare iOS si deve giocarsela con una possibilità contro due elevato alla cinquecentododicesima

Vita, morte e miracoli di un’app 35

potenza, cioè 13.407.807.929.942.597.099.574.024.998.205.846.127.479.365.820.592.393.377.723.561.443.721.764.030.073.546.976.801.874.298.166.903.427.690.031.858.186.486.050.853.753.882.811.946.569.946.433.649.006.084.096.A questo punto potreste chiedervi cosa vi impedisce, una volta fatta una modifica, di calcolare voi stessi (con l’aiuto di un apposito software) il valore SHA-2 dell’app modi-ficata in modo da registrarlo poi all’interno di SC_Info e aggirare la protezione. Ma non è così facile. L’hash è firmato digitalmente da Apple con una chiave di cui solo la casa di Cupertino è in possesso. Indovinarla per tentativi è ancor più difficile di quanto non sarebbe azzeccare l’hash stesso: basti dire che è lo stesso sistema usato nel commercio elettronico su Internet per proteggere le transazioni, quello che fa apparire l’icona del lucchetto chiuso sui siti https dove possiamo con tutta tranquillità digitare il numero della nostra carta di credito. Alla base c’è il teorema di Diffie-Hellman, che ne garantisce matematicamente la robustezza.Poche pagine indietro ho detto che la protezione si può comunque aggirare, e persino con relativa facilità se partite da un dispositivo che ha subìto il jailbreak e vi accon-tentate di far girare la copia pirata su altri dispositivi con jailbreak. È vero e significa semplicemente che è possibile, una volta tolta la protezione di un iPhone, rimuovere il componente di iOS che garantisce la protezione alle applicazioni. Non spiegherò dettagliatamente in questo libro come ci arrivi a quel risultato, per molti buoni motivi. Primo: come abbiamo visto ci sono vantaggi indiscutibili dalla scelta di ammettere solo software firmato in iOS. Secondo: la procedura è lunga e noiosa, e di contro la maggior parte delle app è offerta gratis o per meno di un euro, quindi conviene (letteralmente, da un punto di vista economico) andare a lavare l’auto di zia Filomena in cambio di cinque euro o aiutare un laureando a dattilografare la sua tesi per pochi quattrini piuttosto che mettersi a togliere la protezione da software iOS. Terzo: prima ancora che un autore di libri io sono un programmatore. (Se la cosa vi incuriosisce, potete trovare il programma a cui ho dedicato la maggior parte dei miei ultimi dieci anni di professione descritto su http://www.sar-at.it.) L’idea che qualcuno possa rubare il frutto delle fatiche di un altro programmatore mio collega mi fa andare il sangue alla testa: siete avvisati, se vi scoprissi a fare una cosa del genere vi righerei la fiancata della macchina, anche se avete acqui-stato il mio libro. Hacker avvisato mezzo salvato. E adesso lasciamo perdere il codice e occupiamoci dei dati, molto più interessanti.

Abbiamo già datiUna caratteristica fondamentale di iOS, che lo differenzia completamente rispetto ai sistemi operativi “da computer” a cui molti di noi sono più abituati è il modo in cui i dati vengono memorizzati. Sin qui abbiamo ficcato il naso dentro un videogioco che deve solo ricordarsi (tra una esecuzione e la successiva) quali livelli ho risolto, quali punteggi ho conseguito, insomma pochissime cose. Ma su un iPad possono girare app come Pages, Numbers o Keynote, cioè programmi che si usano per creare contenuti, impaginare, far di conto. In altre parole, software che hanno bisogno di registrare i documenti da noi creati e interscambiarli con altri dispositivi, con calcolatori da tavolo e con stampanti.Su un PC, un documento che io scrivo e impagino finirà dentro al disco rigido in una posizione sostanzialmente scelta da me. Windows mi suggerirà cortesemente di registrarlo nella cartella Documenti, che corrisponde alla directory C:\Documents and Settings del disco

36 Capitolo 2

rigido principale di una macchina XP. Nulla e nessuno mi impedirà però di salvarlo, o trascinarlo, dentro una cartella differente o su una chiavetta USB. Esattamente la stessa cosa è vera su un Mac di Apple, dove la posizione suggerita dal sistema operativo corri-sponde a Utenti : “il mio nome” : Documenti, ma il principio è assolutamente il medesimo.In iOS, invece, ogni applicazione finisce per salvare i suoi documenti in una cartella all’interno della sua propria cartella personale, cioè quella che si chiama come l’app stessa. Non è dunque una sorpresa l’avviso che appare quando provo a cancellare un’app dal mio iPhone e che recita Eliminando “nome app” verranno cancellati anche i relativi dati (Figura 2.5).

Figura 2.5 In iOS, buttare una penna significa liberarsi anche di tutti i fogli di carta su cui si è scritto con quella penna.

È una scelta che di primo acchito sembra bislacca. Ha anche delle conseguenze importanti su cui vale la pena di riflettere brevemente. Di base, ogni software per iPhone, iPad e iPod può vedere solo i dati che ha creato e che si tiene in pancia. Di conseguenza, può capitare che io voglia fare uno scatto usando Fotocamera, ritoccarlo con un’app dedicata, aggiungere una colonna sonora con una terza app e spedirlo a zia Clotilde approfittando di Mail e mi trovi del tutto frustrato perché ciascuno dei quattro applicativi non ne vuole sapere di comunicare con gli altri tre.Le app meglio scritte permettono di rendere le barricate imposte dall’architettura così lievi da non disturbare. Le immagini catturate da Fotocamera, infatti, saranno automati-

Vita, morte e miracoli di un’app 37

camente accessibili in Immagini (perché le app di Apple possono ignorare le regole che tutti gli altri debbono rispettare) e da lì sarà semplicissimo copiare lo scatto, spedirlo per posta o stamparlo. “Sotto al cofano” però la scelta architetturale continua a sussistere e incidere. Se io copio la foto appena scattata e la incollo in un’app che mi permette di ritoccarla, sto generando una copia fisica di tutti i pixel che costituiscono quella foto, e occupo il doppio dello spazio che sarebbe necessario se usassi un PC per il medesimo lavoretto. Se scarico la versione dimostrativa, gratuita, lite di un’app e la uso per farci qualche cosa di cui vado soddisfatto, andrò incontro a una bella frustrazione quando acquisterò la versione completa della medesima app. Dal punto di vista di iOS, infatti, l’app lite e l’app full sono due cose completamente diverse: verranno isolate l’una dall’altra e “barricate”, e io non troverò il mio lavoro quando aprirò per la prima volta la versione completa, come potrei aspettarmi se non sapessi come funzionano davvero le cose. (Non è bellissimo sapere come funzionano davvero le cose? Quanta frustrazione risparmiata. Presto, regalate due o tre copie di questo libro a tutti quelli che conoscete!)I motivi per cui Apple ha compiuto una scelta tanto drastica diventano evidenti se ci fermiamo a riflettere. Se ogni app ha un luogo deputato per registrare i suoi dati, l’utente non può confondersi e non trovare più un proprio lavoro. Se ogni app può solo lavorare con i suoi dati, non c’è da preoccuparsi che qualche malintenzionato scriva un program-ma che si finge un videogioco gratuito ma poi s’impadronisce di tutto l’indirizzario di amici e parenti depositato dentro a Contatti e spedisca a ciascuno posta indesiderata. Ed è assolutamente impossibile che esistano virus, perché ogni app vede solo se stessa e il sistema operativo, non sa quali altri software e quali documenti esistano sul dispositivo, tantomeno può metterci le mani sopra.

Il dito nei datiiPhone Explorer è un piccolo programma completamente gratuito per Mac OS X e per Windows che potete scaricare dall’indirizzo http://www.macroplant.com/iphoneexplorer/.Grazie a esso abbiamo la possibilità di “aprire” il nostro dispositivo e guardare dentro a tutte le applicazioni che abbiamo installato in esso.La prima cosa che noterete è che le app vengono elencate da iPhone Explorer tutte assieme e non, come ci si potrebbe aspettare, raggruppate in cartelle sulla base delle medesime categorie che abbiamo impostato sul dispositivo. In altre parole: i gruppi, o cartelle, che possiamo creare in iTunes e sul dispositivo, sono costrutti software ai quali non corrispondono divisioni fisiche nella memoria dell’apparecchio.La seconda osservazione interessante la formuliamo se apriamo una delle cartelle del-le applicazioni. Oltre ai componenti dell’app stessa (codice, immagini, firma digitale, insomma gli elementi che abbiamo trovato nel documento .ipa e che ci aspettavamo) vedremo sempre una cartella chiamata Documents. È proprio lì che il nostro amico iOS stipa i documenti creati dall’applicazione (Figura 2.6). Molti tra questi documenti possono essere visualizzati attraverso iPhone Explorer (Figura 2.7). Le immagini, per esempio. Alcuni sembrano inutilizzabili e hanno un’estensione strana, .sqlite. Ne parleremo nel seguito del libro.Con pochi colpi di mouse attraverso iPhone Explorer possiamo prelevare documenti dal deposito interno delle app, o aggiungerne degli altri, trascinandoli dal disco rigido del nostro calcolatore principale. Possiamo anche cancellare qualcosa.

38 Capitolo 2

Figura 2.6 iPhone Explorer consente di guardare dentro alle app installate su un dispositivo iOS, anche mentre stanno girando.

Figura 2.7 Sul mio iPhone, l’applicazione Traduttore (in inglese, Translate) appare insieme con le altre dedicate ai viaggi, anche se iPhone Explorer mi ha rivelato che in memoria le cose stanno diversamente.

Vita, morte e miracoli di un’app 39

È quasi certo che tutto quello che facciamo abbia un perfetto equivalente in iTunes e dunque non vale la pena di manovrare troppo dentro alla pancia aperta delle app, con il rischio di spostare oggetti in giro fino a confonderle al punto da non ritrovarle più. Di tanto in tanto però questo programmino viene davvero comodo.Se scorrete nella finestra principale di iPhone Explorer, sino in fondo, dopo tutte le app, troverete uno spazio intitolato Media. È accessibile solo alle app create da Apple e in-stallate insieme al sistema operativo (un’altra prova provata del trattamento preferenziale che iOS concede loro). Ficcandoci il naso, troviamo tutti i nostri dati più importanti. Ci sono i favoriti di Safari, le registrazioni che abbiamo fatto con Memo vocali (se e solo se il nostro dispositivo possiede un microfono; altrimenti quest’app non serve a nulla), le canzoni, i podcast, le foto, i libri, i contatti e via dicendo.Se scatto una fotografia con la fotocamera del mio iPhone la vedo apparire immedia-tamente nella sottocartella DCIM/Apple, e da lì la posso scaricare immediatamente sul calcolatore principale o eliminare. Tutte le immagini che popolano questo libro, per esempio, sono state realizzate in pochi secondi con una procedura che vi sembrerà banale ora che avete capito come funzionano le cose. Io tengo il mio iPhone connesso al Mac in permanenza attraverso il cavetto bianco USB. Quando scrivo un paragrafo che richiede un’immagine, la catturo su iPhone premendo contemporaneamente il tasto Home sul frontale dell’apparecchio e quello di accensione, in alto. Immediatamente vedo apparire un file dentro a DCIM/Apple e usando iPhone Explorer lo sposto sul mio Mac nello spazio che condividerò con l’impaginatore. Facile e immediato.

Il lancio dal discoSin qui abbiamo visto quale forma prendono le app mentre vengono trasferite dall’App Store al nostro computer e poi una volta caricate dentro al dispositivo iOS, decompresse e messe a disposizione per il lancio. Ogni iPhone, iPad e iPod ha una memoria interna che si comporta come un disco rigido (a volte viene chiamata drive a stato solido o SSD, perché non ruota su un perno centrale come fanno i dischi rigidi tradizionali). La sua dimensione è quella che vediamo stampigliata dietro al dispositivo: se vi dicono che possedete un iPod touch da 64 GB significa che potete stiparci sopra un totale di 64 GB tra musica, app e dati.Quando, però, tocchiamo l’icona di un’app e ne chiediamo dunque l’esecuzione, il sistema operativo deve caricarla nella memoria di lavoro, la RAM. La dimensione di questo spazio è molto meno nota e pubblicizzata. I primi dispositivi iOS sul mercato erano dotati di 128 MB di RAM. L’iPhone 3GS, il primo iPad e l’iPod touch di terza generazione sono stati forniti di 256 MB di RAM da Apple, e l’iPhone 4 è stato il primo prodotto basato su iOS a possederne ben 512.Con il sistema operativo iOS nelle versioni sino a 3.2.2, ogni app lanciata prendeva possesso di tutta la memoria esistente. A partire dalla versione 4.0, Apple ha consentito la possibilità per due o più app di restare aperte contemporaneamente nella memoria centrale. Per esempio, sul mio iPhone 4 posso aprire Skype e cominciare a parlare con un amico e mentre sto chiacchierando avviare le Note e prendere appunti, oppure se-gnarmi un appuntamento sul Calendario. Naturalmente, per trovare spazio nella memoria centrale a molte app contemporaneamente bisogna possederne a sufficienza, e questo è il motivo per cui alcuni dispositivi iOS (come l’iPod touch di seconda generazione, o

40 Capitolo 2

l’iPhone 3G) possono montare iOS versione 4 ma non viene loro concesso di avviare più app in simultanea nel modo che ho descritto (Figura 2.8).

Figura 2.8 L’interfaccia utente che consente di terminare l’esecuzione di un’app in iOS versione 4.

Facendo due clic sul tasto Home, nella parte inferiore della schermata, in iOS 4 appare l’elenco di tutte le app attualmente aperte e che si trovano (almeno parzialmente) nella memoria centrale. Appaiono a gruppi, visto che lo schermo ha una larghezza limitata. Naturalmente questo elenco continua a crescere, ma iOS esegue sottobanco qualche valutazione e di tanto in tanto espelle dalla memoria centrale un’app. Il sistema operativo non si comporta in modo inspiegabile o capriccioso: si libera invece di quei programmi che noi non stiamo usando da un sacco di tempo e che non stanno facendo niente di speciale. Non chiuderà mai di testa sua, per esempio, Skype mentre lo sto usando per conversare con qualcuno.Il proprietario di un dispositivo iOS può occuparsi personalmente della gestione della memoria centrale. Quando l’elenco delle app aperte è a schermo diventa possibile toc-care una di esse e tenere il dito premuto per qualche secondo. A questo punto, le icone cominciano a vibrare e appare sovraimposto su ciascuna di esse un piccolo pulsante a X che consente di terminarne l’esecuzione. Di solito non vale la pena di preoccuparsene. iOS può benissimo pensare da solo a gestire la memoria. In alcun casi però è indispen-sabile che siamo noi a chiudere un’app aperta. Continuando con l’esempio di prima, e

Vita, morte e miracoli di un’app 41

cioè l’uso di Skype, capirete bene che sinché quell’app è aperta sul mio iPhone io sono reperibile in voce e chat per tutti i miei interlocutori. Se entro in un cinema o comun-que desidero un momento di privacy, pace e tranquillità, è opportuno che io ricorra alla manovra sopra descritta per terminare l’esecuzione di Skype. (Per la verità, esiste anche un pulsante all’interno dell’app stessa che ottiene il medesimo scopo.)

cAPPitan FindusIl proprietario di un iPhone 3G, giunto a questo punto del libro, potrebbe farsi prendere da legittimo sdegno. Certo, il suo telefono possiede solo 128 MB di RAM, come ab-biamo visto. Eppure a un iPhone 3GS che ne ha “soltanto” il doppio viene concesso di tenere aperta contemporaneamente una decina di app, mentre il povero 3G resta limitato all’uso di un singolo pacchetto software alla volta. Non si sarebbe potuto concedergli di gestirne cinque? Anticipo la risposta: no, purtroppo no.Quando sto usando un’app in iOS, tutto lo schermo è dedicato a essa. In Windows, o in Mac OS X, invece, sul video appaiono più finestre e tipicamente in ciascuna di esse si vede il contenuto di un documento o di un’elaborazione che è opera di un software individuale. Questa differenza di comportamento non è incidentale. iOS 4 gestisce la compresenza di più app in memoria (il multitasking) in modo molto particolare. Facciamo un esempio. Mentre sto aspettando la metropolitana mi concedo qualche mossa di Lux Touch, un videogioco gratuito molto simile al famoso Risiko. Sono tutto impegnato a conquistarmi il mondo in santa pace quando il treno arriva. Con un’occhiata vedo che il carro bestiame… pardon, il vagone è bello stipato di persone e dunque con pochi tocchi lancio l’app iPod, infilo le cuffiette, entro e ascolto quindici minuti di musica. Durante quei quindici minuti, Lux Touch è certamente “aperto”, nel senso che se io facessi due clic sul tasto Home vedrei la sua icona tra quelle a disposizione e con un solo tocco del dito potrei ricominciare a invadere la Kamchatka da dove mi ero interrotto. Tuttavia, il programma non è veramente in esecuzione. Il sistema operativo iOS l’ha del tutto con-gelato, per così dire, e può benissimo darsi che l’abbia rimosso dalla memoria centrale preservando soltanto una fotografia dei dati in uso (cioè la situazione attorno alla penisola della Kamchatka). Il motivo per cui gli ingegneri di Apple hanno predisposto le cose in questo modo è semplice: si voleva risparmiare batteria (Figura 2.9). Io sarei giustamente furibondo se il mio cellulare si scaricasse del tutto prima di sera, e impedire a Lux Touch di calcolare i movimenti dei carrarmati nell’Estremo Oriente è un sistema appropriato per ottenere questo scopo. Un beneficio ulteriore di questo comportamento sta nel fatto che la stragrande maggioranza della memoria centrale del mio iPhone è sempre a disposizione dell’app in primo piano, e non dobbiamo trascurare il fatto che tutta la potenza del processore viene dedicata quasi esclusivamente a eseguire il suo codice. Ma sono, appunto, dettagli. La quantità di RAM e la velocità del microprocessore sono di tutto rispetto, perfettamente paragonabili a quelli di un Mac o PC di sei-sette anni fa; quegli elaboratori non si comportavano in questo modo ma neppure dovevano soprav-vivere per un’intera giornata con la carica di una batteria grande quanto il mio mignolo.Non tutte le applicazioni vengono congelate per intero nel preciso istante in cui passano in secondo piano. Anche su un iPhone 3G, per esempio, posso conversare telefonicamente oppure ascoltare una musica MP3 mentre lavoro con un’app differente in primo piano.

42 Capitolo 2

Figura 2.9 Specie sugli apparecchi iOS meno recenti, il sistema operativo è dispostissimo a sacrificare un passatempo momentaneo in nome di una chiamata urgente o della maggiore durata della batteria. Difficile dissentire.

Su un dispositivo più recente questa compresenza di app differenti viene concessa anche a software non opera di Apple e più goloso di spazio in memoria (come il succitato Skype). In questi casi, il sistema operativo iOS lascia in memoria centrale soltanto un frammento di Telefono, iPod o Skype: tutte le immagini, per esempio, vengono spazzate via per far maggior spazio all’app di primo piano.È certamente una soluzione di compromesso. I dispositivi basati sul sistema operativo Android, per esempio, si comportano in modo diverso e di conseguenza godono di maggior flessibilità nell’alternare le app compresenti in memoria con il multitasking, ma soffrono di una minor durata delle batterie. Con l’arrivo della versione 5 di iOS, imminente mentre questo libro va in stampa, e con l’uscita conseguente di un nuovo modello di iPhone, è certo che il livello di compromesso cambierà in meglio, se non per migliori specifiche hardware almeno per l’ottimizzazione del software, e così nelle versioni future di iOS e iPhone (iPad, iPod touch, varie ed eventuali).