-
Hatten dasselbe Problem mit unserer App
Autor: usr4iqua 01.11.19 - 09:43
Problem trat aber nicht erst seit iOS 13.2, sondern schon sein iOS 13 auf.
Nach einer Analyse hat sich jedoch schnell herausgestellt, dass der Fehler auf unserer Seite lag: Wir haben die Background-Task-API einfach falsch verwendet. In der Doku [1] ist nämlich recht eindeutig beschrieben, dass der Background-Task beendet sein muss, wenn das System die App in den Zustand Suspended schieben möchte. Läuft noch ein Background-Task, wird die App beendet.
Nachdem wir den Umgang mit unseren Background-Tasks überarbeitet haben, läuft wieder alles stabil. Auch unter iOS 13.2.
Ich kann jetzt aber nicht sagen, ob Apple seit iOS 13 einfach früher bei Apps den Übergang von Background nach Suspended durchführt (und dadurch die Problematik in dem Umfang einfach nicht auffiel), oder vorher die Bedingung, dass keine Background-Tasks mehr laufen dürfen, nicht ganz so krass erzwungen hat.
Was aber auch ärgerlich war: Ein Crashreport, aus dem der Grund ersichtlich war, wurde zwar von iOS wie üblich unter Datenschutz -> Analyse & Verbesserungen -> Analyse abgelegt, allerdings hat Crashlytics beim Starten der App nicht erkannt, dass die App zuvor gecrasht ist und so auch keinen Report geschickt. -> Die Problematik ist uns erst recht spät bewusst geworden.
Wärend der normalen Entwicklung tritt das Problem nämlich nicht auf: Wenn ganz normal der Debugger angeschlossen ist, wird die App von iOS ja nicht nach Suspended überführt. Um das Problem zu beobachten, muss man daher die Geräte-Konsole verwenden.
[1] developer dot apple dot com /documentation/uikit/uiapplication/1623031-beginbackgroundtask (Links hier im Forum sind erst erlaubt, wenn man mehr als 50 Beiträge erstellt hat)
1 mal bearbeitet, zuletzt am 01.11.19 09:45 durch usr4iqua. -
Re: Hatten dasselbe Problem mit unserer App
Autor: Cgatnet 01.11.19 - 12:49
Vielen Dank für den Einblick.
Das Beleuchtet das Thema mal aus der Ecke eines Wissenden und wertet den Artikel für mich deutlich auf.
Solches Wissen könnte aus meiner Sicht auch gerne direkt in den Artikel einfließen.
Ist ja auch nicht so, dass es nur einen iOS Entwickler gibt, den man fragen könnte. 😊



