2012-05-04 2 views
16

Sto lavorando su un'app, in cui visualizzo i dati immessi dall'utente in un file PDF. Il file PDF viene anche creato dinamicamente.Arresto anomalo dell'app: "DiskImageCache: impossibile risolvere il percorso assoluto della directory precedente".

Tutto questo va bene.

Ho implementato il framework QuickLook per visualizzare il file pdf. Quando chiamo il framework QL, l'ID del file PDF viene visualizzato abbastanza bene, ma quando torno alla schermata di chiamata, la mia app si arresta in modo anomalo senza alcun registro di crash o avvisi di memoria.

sto chiamando QL con codice qui sotto:

[[self navigationController] presentModalViewController:qlPreviewer animated:YES]; 

registri creati sono

DiskImageCache: Could not resolve the absolute path of the old directory. 
[Switching to process 3070 thread 0x17603] 
[Switching to process 3070 thread 0x15503] 

Questo è molto interessante ..... Quando eseguo lo stesso programma in Strumenti per verificare la presenza di perdite e gestione della memoria, posso trovare solo perdite quando si scorre il documento PDF e tutte le pagine sono visualizzate. Tuttavia, è interessante notare che non è stato rilevato un arresto anomalo dell'app. Inoltre, ho provato con ZombieEnabled = YES e senza di esso, ma senza crash di app con strumenti.

Sono abbastanza all'oscuro su come interpretarlo e ho provato diverse cose per risolvere questo problema. Inoltre, ho provato UIWebView ma il risultato è lo stesso.

Stavo ancora cercando qualcosa per verificare il problema e ho trovato qualcosa di interessante. Quando eseguo il codice direttamente da X-Code - ottengo l'arresto anomalo come spiegato sopra.

In altro caso, se eseguo l'applicazione cliccando sul app nel sim ... nessun crash

devo ancora controllare questo sul dispositivo. Qualcuno può confermare l'arresto anomalo del dispositivo?

Inoltre, Google non ha una risposta a questa domanda.

Grazie in anticipo per le vostre risposte. Qualcuno può far luce su questo?

+3

Hai mai trovato una soluzione per questo? Mi è appena successo e non mi piace semplicemente ignorare una pausa. – GoldenJoe

+1

Nops. Sto ancora cercando risposte. Fammi sapere se ne trovi uno. – Kunjal

+0

Ho iniziato ad avere problemi con iOS 8 ora –

risposta

2

Interessante: è appena iniziato anche con la mia app. Nessun errore durante il controllo delle perdite, ma l'esecuzione dell'app nella simulazione provoca effettivamente un punto di interruzione, non un arresto anomalo. Posso andare avanti e l'app continua a funzionare, nessun problema.
Il mio problema riguarda anche un PDF, ma sto solo utilizzando una visualizzazione Web per visualizzare un PDF dal pacchetto di app. Ho controllato tutto nel dealloc, va tutto bene, questo potrebbe essere un bug di iOS 5.1. Aggiornerò mentre imparo di più.

+0

Cool !!! sembra che io non sia solo qui :) Io sto anche provando cose e aggiornerò di più qui .... – Kunjal

+0

ah Saem situazione, Qualsiasi soluzione :(grazie – Mangesh

+0

* iOS 8 problema! –

1

@JimP, Non è un bug di iOS 5.1. Ha appena iniziato a succedere anche alla mia app, su iOS5.0. Sembra influenzare solo i pdf di più di una lunghezza di pagina e sembra attivarsi più comunemente sullo scorrimento oltre la fine del documento (anche se a volte anche prima). Sembra anche che accada più spesso su un secondo carico.

+0

Immagino, Apple dovrebbe essere a conoscenza di questo e presto dovrebbe fornire qualche correzione ... – Kunjal

+1

Esegui senza punti di interruzione per evitare crash –

+0

In realtà lo capisco nei PDF a pagina singola Per me, tutto funziona a dovere, è quando tento di uscire dallo schermo che ottengo il Errore di interruzione – cain

11

Sto avendo lo stesso identico problema.

Come soluzione temporanea, è possibile disabilitare o rimuovere il punto di interruzione "Tutte le eccezioni". Questo potrebbe rendere il debug un po 'più difficile, ma non è così male come dover riavviare l'applicazione tutto il tempo.

The breakpoint causing the issue

Questo è il punto di interruzione che causa il problema. Avevo impostarlo in modo tempo fa che avevo dimenticato che era lì

3

sono stato in grado di risolvere la mia con questo codice:

FirstViewController.h 

NSURLRequest* reqObj; 
@property(nonatomic, retain) NSURLRequest* reqObj; 

FirstViewController.m 

reqObj = [NSURLRequest requestWithUrl:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60.0]; 

NSURLConnection* conn = [[NSURLConnection alloc] initWithRequest:reqObj delegate:self]; 

allora invece di caricarlo sul mio punto di vista, dopo questa linea ho aspettato per il connectionDidFinishLoading quindi caricarlo a mio avviso

+0

Ottima risposta, questo vale per il mio numero. – spstanley

+0

Grazie. Risolto il problema. –

-1

Non so se si tratta dello stesso problema ma ho riscontrato un problema in cui il passaggio da una visualizzazione PDF a un'altra più di tre volte tramite il controller della barra delle schede ha causato un arresto anomalo.

Si è scoperto che l'incorporamento delle viste in cui stavo passando all'interno dei controller di navigazione interrompeva l'arresto anomalo.

+0

Ingiustificato voto negativo dopo tutto questo tempo? =) – Robert

1

Ciò può accadere quando si elimina il riferimento all'oggetto nel codice ma si ha il suo riferimento in xib. Elimina la presa che non ti serve più.

5

L'eliminazione dell'applicazione dal dispositivo mi ha aiutato a risolvere questo problema. Forse anche all'inizio dovresti provare "Prodotto> Pulisci" per assicurarti che tutte le risorse vengano copiate sul tuo dispositivo.

0

Si è appena imbattuto in questo problema del caricamento di un file PDF in un'app che sto convertendo in iOS 8. Questa app funziona bene sin dal primo iPhone. Ho appena rimosso il punto di interruzione Tutte le eccezioni per aggirare il problema.