applicationWillTerminate: nur erster Befehl wird interpretiert

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

  • applicationWillTerminate: nur erster Befehl wird interpretiert

    Entschuldigt, dass ich eine wahrscheinlich so banale Frage stelle, abder ich habe ein Problem, das ich nicht lösen kann:
    Ich habe ein Programm erstellt, welches vor dem Beenden noch einige Daten in die Userdefaults schreiben soll. In der Methode applicationWillTerminate im App-Delegate werden diese Anweisungen ausgeführt. Oder besser: sollten ausgeführt werden. Denn sobald die erste Zeile verarbeitet wurde, beendet das Programm und der Rest wird nicht mehr ausgeführt.
    Hat jemand eine Idee, wieso das so ist, und allenfalls, wie ich das beheben kann?
  • Überhaupt keine Exception.
    Vor dem Posten in dieses Forum habe einen Breakpoint gerade in der zweiten Zeile gesetzt. Dort kam der Code nie hin! Und meine Anweisung in der ersten Zeile lautet nur so:
    [myString writeToFile:@"irgendeinfile" atomically:YES encoding:NSASCIIStringEncoding error:nil]
  • Ist das eine Aufgabe, die längere Zeit benötigt? Vll. wird's ja gekillt bevor die Aufgabe fertig ist.

    Wo hast du getestet? Devise oder Simulator. Falls letzterer, teste mal, ob's auf dem Devise läuft.
    „When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.“
    – James Whitcomb Riley
  • Dir ist aber schon klar, das ApplicationWillTerminate nur aufgerufen wird wenn die Applikation wirklich beende wird und nicht wenn sie in den Hintergrund geschickt wird, oder ?

    Was Du willst ist eher ApplicationWillEnterBackground

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • 1.: ich spreche von einer Mac-Applikation. Die kann ich ja bereits auf dem Endgerät testen. :)
    2.: ich beende das Programm jedes Mal mit Apfel-Q. Da wird es schon geschlossen.
    3.: der Anfang des Codes wird ja ausgeführt. Das wird reibungslos aufgerufen.