Files hinzufügen Crash

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Files hinzufügen Crash

    Hallo,

    soeben habe ich per Copy Paste ein xml File dupliziert. Wenn ich dies in eine pList einbaue, crashed das Programm. Der content ist in der xml absolut gleich zum Original. Zusätzlich ist das File mit "A" im Projekt Navigator markiert, die entsprechende pList mit "M" modified.
    Wie könnte ich dies lösen?

    Danke
    Dateien
    Xcode 9.2
    Objective C
    OSX 10.12.6
  • Ich habe die Datei nun im Finder dupliziert und dann in das Projekt zu den anderen .xml Files kopiert. Wenn ich dieses in der plist zuweise,das Folgende

    Console:
    libc++abi.dylib: terminating with uncaught exception of type NSException

    Hier, was mir 12 main anzeigt:
    0x105f8c05f <+111>: movl %eax, -0x4(%rbp) Thread1: signal SIGABRT
    Xcode 9.2
    Objective C
    OSX 10.12.6
  • Mattes, ich gebe mir Mühe zu verstehen. Ich bin mit dem Bundle nicht ganz sicher.
    Im Finder sehe ich jedoch alle Files (Show in FInder). Wenn ich allerdings mit File> New File arbeite scheint das Programm zu funktionieren.

    Xcode ist offenbar sehr sensibel was das Duplizieren von Files im Navigator betrifft.

    Die (duplizierten) xml Files weise ich in einer pList (key-value) zu. D.h. ich überprüfe, ob die duplizierte xml Datei mit demselben Inhalt genauso funktioniert, wie das Original. Das Original funktioniert, nur das Duplikat nicht. Hier mache ich einen Fehler mit dem Behandeln neu hinzugefügter xml Dateien wie mir scheint.
    Xcode 9.2
    Objective C
    OSX 10.12.6
  • Wenn Du Dein Projekt kompilierst, werden alle zur Laufzeit benötigten Dateien in das Verzeichnis .app (das Bundle) kopiert. Gesteuert wird dies über eine Eigenschaft der Datei im Inspektor. Wenn Deine App läuft, sollte sie Resourcen aus dem Bundle referenzieren, da diese mit der App kopiert werden. Wenn diese Datei nun in der Copy-Phase des Builds nicht kopiert wurde, könnte das eine Exception verursachen.

    Die Funktion des XMLs ist mir noch nicht klar: Stellt diese für die App eine Art Verzeichnis abzuspielender Dateien dar? Dann lass‘ Dir zur Laufzeit mal dessen Inhalt ausgeben und vergleiche mit der o. g. Datei.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Gibt der Stack Trace vom Crash-Log evtl. noch einen Hinweis an welcher Stelle im Programm die App crasht?

    Alternativ versuche mal einen Exception Breakpoint in Xcode zu setzen.

    Dann sollte der Debugger an der Stelle stehen bleiben, an der die Exception geworfen wird. Sollte dies eine System Lib oder dergleichen sein, dann kannst Du im Stack frame der Debugger Leiste oder im Debug Navigator evtl. die letzte Stelle in Deiner App sehen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MCDan ()

  • Welche Möglichkeiten bestehen in XCode 9 hinzugefügte Files sicher in das Bundle zu kopieren. Dies scheint nicht sicher zu geschehen.
    Im Grunde füge ich zu vorhandenen XML FIles neue hinzu (New File > Empty > foo.xml). Ebenso verfahre ich mit mp3s, die ich in dem Dialog con Xcode in den Projektordner hineinkopieren lasse.

    Auch hier erweitere ich den mp3 Bestand am selben Ort neben (bereits funktionierenden) mp3s sehr simpel.

    Wenn Xcode das nicht verwalten kann, wie muss ich dies unterstützen.
    Xcode 9.2
    Objective C
    OSX 10.12.6
  • Ah, da kann man dieses Häkchen setzen...Die Eigenschaft, auf die MyMattes auch hinwies, verstehe.
    Es scheint so zu sein, dass nicht immer alles sofort korrekt referenziert wird, da in einigen Fällen der mp3s das Häkchen nicht gesetzt war. Sollte eigentlich doch durch das Importieren des Files gewährleistet sein.

    Muss ich nochmal genauer beobachten. In jedem Falle scheint das Hinzufügen von xml Files und mp3s auf diese Weise (das Prüfen der jeweiligen target Eigenschaft eines Files im Inspektor) gut zu funktionieren.

    Danke an Euch!!
    Xcode 9.2
    Objective C
    OSX 10.12.6

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von Dreibein ()

  • Okay, natürlich bin ich mit dem Workflow etwas faul, wenn ich nicht genau den Output verfolge, ganz klar.
    Ich muss noch besser nachvollziehen, wie ein gutes Debugging abläuft. Vielleicht ist es eine Idee, wenn ich weiss, wie man am besten den Output hier im Forum darstellt und natürlich welche Techniken es gibt.
    Xcode 9.2
    Objective C
    OSX 10.12.6

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Dreibein ()

  • Habe mal einige offene issues bearbeitet, die in älteren Xcode Versionen nicht da waren. Ist die Wiederaufnahme eines alten Projektes. Im Output sehe ich relativ weit oben, dass die FIles und auch eine Zeile bei einer Exception angegeben werden. Somit ist die Stelle der exception schon einmal klar. Im Grunde haben sich die Fehler darauf hin mit einem bisschen stack overflow lesen nach und nach hier wunderbar durch Eure Hilfe beheben lassen. Das Projekt ist nun soweit upgedated und lauffähig, längst nicht beendet, aber ein guter Start.

    Der Sache des crashes bei hinzugefügten Dateien würde ich weiter nachgehen, wenn der Fehler wieder auftritt, bisher allerdings offenbar kein Problem mehr Zwischendurch habe ich die No Action Delete Rule auf Nullify geändert. Dies war noch ein issue, der etwas mit dem Crash zu tun gehabt haben könnte(??). Sehr hilfreich Euer Tip der Target Eigenschaft im Inspektor!!


    Sehr herzlicher Dank!
    Xcode 9.2
    Objective C
    OSX 10.12.6