Versione breve: nel mio background di app il recupero funziona come un incantesimo tranne per il fatto che quando provo a caricare i contenuti in una webview non fa nulla!Carica UIWebView in un recupero in background
Versione lunga: ho impostato le giuste capacità nel progetto, impostare l'operazione di recupero e intervallo di implementare il metodo
- (void) application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
come negli esempi e funziona. Ma poi, per completare il recupero dello sfondo ho bisogno di caricare alcuni contenuti in un UIWebView. E questo non funziona. Semplicemente il processo in qualche modo "perdersi" Quando chiamo:
[myWebview loadRequest:request];
(ovviamente funziona quando in primo piano, ma non fa nulla, quando in background).
cerco anche di forzare la WebView da caricare nel thread principale, ma poi il sistema è sufficiente arrestarlo 'fino al ritorno applicazione in modalità primo piano (ha senso, siamo in fondo!)
Così , c'è un modo per caricare un UIWebView mentre è in background? Si prega di notare che non posso semplicemente scaricare i contenuti con NSURLSession, perché la pagina web contiene javascript che carica alcuni fotogrammi (e non posso chiedere una riprogettazione della pagina web).
Edit: probabilmente non ero abbastanza crear quando ho scritto la domanda, ma cercando di eseguire un compito nel main_queue (con un dispatch_async o similmente metodi), mentre in uno sfondo fetch non funziona. Ho provato prima di chiedere ...
Quando si chiama il gestore di completamento? –
Aspetto di richiamarlo dopo aver caricato la vista Web, ma il carico non si avvia nemmeno –
La vista Web è effettivamente presente in una gerarchia di viste quando si esegue in background (ad es. La proprietà 'window' restituisce qualcosa) ? –