Domanda

Ho un app iPhone. Sembra funzionare bene. Quando si collega ad un iphone provisioning per Xcode e eseguire l'applicazione, il log della console nella finestra Organizzatore, si lamenta sempre di un errore di segmentazione quando smettere l'applicazione con la chiave di casa.

Qualcun altro ha visto questo, e non si ha un'idea di ciò che il problema potrebbe essere? Uso un filo per caricare le pagine web nel backround, ma mi fermo il filo all'uscita.

La mia app fa risparmiare un po 'le informazioni persistente. Quando uso la costruzione e la funzione di analizzare ottengo circa 2 potenziali perdite di memoria, ma in ogni caso sto assegnando un oggetto e mantenendolo in un array.

Tutte le idee, o è normale?

È stato utile?

Soluzione

Provare a eseguire l'applicazione con NSZombieEnabled. Questo vi dirà se siete più di rilasciare qualsiasi oggetto. Per abilitare zombie effettuare le seguenti operazioni:

  
      
  1. Scegli Progetto> Modifica Attivo eseguibile per aprire l'eseguibile info   finestra.
  2.   
  3. Fare clic Argomenti.
  4.   
  5. Fare clic sul pulsante Aggiungi (+) nella sezione “Variabili da impostare nel   la sezione ambiente”.
  6.   
  7. Inserisci NSZombieEnabled nella colonna Nome e SI nella colonna Valore.
  8.   
  9. Assicurarsi che sia selezionato il segno di spunta per i soggetti di entrata NSZombieEnabled.
  10.   

Altri suggerimenti

Dopo l'uscita l'applicazione può over-rilasciare un oggetto di dumping provare ogni oggetto prima di rilasciarlo o fare un po 'di debug in modo dealloc.

Forse si stanno rilasciando un oggetto più volte che il suo conteggio conservare. Commentare le chiamate -release nei vostri metodi dealloc (o altrove) fino a trovare il colpevole.

Poi rimuovere il commento-out che chiamano e guardare altrove nel codice in cui si sta tentando di rilascio eccesso di quell'oggetto.

Se si utilizzano metodi di convenienza, per esempio, (ad esempio [NSString stringWithFormat:@"..."]) rispetto al alloc-init metodi (per esempio [[NSString alloc] initWithFormat:@"..."]) l'oggetto convenienza risultante viene autoreleased e non deve essere sbloccato manualmente.

Il mio problema era uididfaker e locationholic da Cydia, e dopo la disinstallazione di loro corsa Xcode sul mio iphone bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top