Questa è una domanda tipo "dipende":
Se stai costruendo un'app come i visualizzatori di fumetti XKCD o Dilbert, potresti ottenere il caricamento e il caching a discrezione dell'utente - entrambi sono fumetti web e vengono aggiornati frequentemente, quindi l'utente si aspetta di avere un web collegamento.
Se la tua app presenta prodotti, opere d'arte o luoghi, avresti versioni in-app a bassa risoluzione che sono "abbastanza buone", potresti quindi consentire all'utente di scaricare versioni ad alta risoluzione (o anche video) e memorizzarle nella cache , sempre a discrezione dell'utente (l'opzione ad alta risoluzione verrebbe visualizzata solo se l'app può raggiungere il server Web, ovviamente ...)
Se la tua app è un'app di pianificazione del viaggio basata su kit di mappe, probabilmente dovrai aspettarti una connessione web almeno inizialmente, memorizzando nella cache solo le sezioni specifiche della mappa relative al viaggio pianificato.
Infine, se vuoi dare la completa esperienza di hi-res fin dall'inizio, dovrai tenere tutti i media in-app come parte del download iniziale dell'app - l'utente potrebbe acquistare l'app in iTunes e quindi sincronizzalo sul proprio dispositivo iOS.
Ho trovato app iOS che utilizzano tutto quanto sopra.