Per file mancanti non intendo quel caso.
Dovrebbe capitare in questo caso: supponi di avere, nel tuo book, uno span (con mask = che quindi viene mostrato in HTML) in cui scrivi
- Code: Select all
<img src="http://it.wikipedia.org/wiki/File:Tizian_078.jpg">
Ora safari vede l'immagine, e chiede il file alla shell. Quel file non è parte del pacchetto (o dei file installati quando hai installato il servizio su Caravel). Quindi la shell lo va a prendere lei, se lo copia in locale e poi lo fornisce all'applicazione... così la prossima volta che l'app parte quel file è già in locale e fa prima... e funziona anche se non c'è connettivitià.
Ora, quel file viene preso con una apposita chiamata sincrona durante la gestione di una chiamata dalla cache di safari... in iOS 7 hanno cambiato le cose (ti ricordi che abbiamo dovuto correggere un problema analogo in 7.0 con una libreria esterna (chilkat)?). Ecco anche in iOS 8 hanno cambiato ancora le cose. In iOS7 quella chiamata veniva eseguita da un thread con un nome specifico... Io, se vedevo la chiamata da quel thread usavo chilkat (che funzionava bene). Ora, in iOS8 il thread non ha più un nome ma viene eseguito come parte di una coda che ha un nome specifico. Quindi in iOS 8 devo usare il nome della coda per decidere se usare chilkat o no.
Quindi, riassumendo, sono file che non erano parte del pacchetto (e che non erano stati installati durante l'installazione) e che l'applicazione non possiede. Se tu li scarichi prima che l'app ne abbia bisogno (con una download file) il file non deve essere scaricato durante la richiesta di cache di safari ma viene servito direttamente dalla shell dato che lo trova lì in locale.