Frage

Ich habe ein iPhone App. Es scheint gut zu laufen. Wenn ich zu einem bereit iphone zu Xcode verbinden und die App, das Konsolenprotokoll im Organizer-Fenster laufen, immer beschwert sich über einen Segmentation fault, wenn sie mit der Home-Taste die App zu verlassen.

Hat jemand gesehen, und haben Sie eine Vorstellung davon, was das Problem sein könnte? Ich benutze einen Thread Webseiten im Hintergrund zu laden, aber ich aufhören den Faden beim Verlassen.

Meine app hat einige persistente Informationen speichern. Als ich den Build verwenden und analysieren Funktion ich einige 2 potentielle Speicherlecks, aber in jedem Fall, dass ich ein Objekt bin Aufteilung und es in einer Anordnung zu halten.

Irgendwelche Ideen, oder ist das normal?

War es hilfreich?

Lösung

Versuchen Sie, Ihre Anwendung mit NSZombieEnabled läuft. Dies wird Ihnen sagen, wenn Sie über ein beliebiges Objekt freigibt. So aktivieren Sie Zombies wie folgt vor:

  
      
  1. Wählen Sie Projekt> Bearbeiten Aktive Executable die ausführbare Datei Info zu öffnen   Fenster.
  2.   
  3. Klicken Sie auf Argumente.
  4.   
  5. Klicken Sie auf die Add (+), um in den „Variablen in der festgelegt werden   Umwelt“Abschnitt.
  6.   
  7. Geben Sie NSZombieEnabled in der Spalte Name und YES in der Spalte Wert.
  8.   
  9. Stellen Sie sicher, dass das Häkchen Forthe NSZombieEnabled Eintrag ausgewählt ist.
  10.   

Andere Tipps

Nach dem Verlassen der Anwendung kann über-Release ein Objekt versuchen, jedes Objekt Dumping vor der Freigabe oder einige Debug in dealloc Methode zu tun.

Vielleicht veröffentlichen Sie einige Male als die Objektanzahl behalten. Kommentieren Sie -release Anrufe in Ihrer dealloc Methode (oder anderswo), bis Sie die Täter zu finden.

Dann uncomment-out, die anrufen und schauen an anderer Stelle in Ihrem Code, wo Sie über Release versuchen, das Objekt.

Wenn Sie Bequemlichkeit Methoden verwenden, beispielsweise (z [NSString stringWithFormat:@"..."]) im Gegensatz zu Methoden alloc-init (z [[NSString alloc] initWithFormat:@"..."]) das resultierende Bequemlichkeit Objekt Autoreleased und soll nicht manuell freigegeben werden.

Mein Problem war uididfaker und locationholic von Cydia, und nachdem sie Xcode laufen auf meinem iPhone einfach gut zu deinstallieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top