2016-03-22 9 views
-1

Wir sehen eine seltsame Situation in unserer iOS-App, die sich auf unsere Benutzerfreundlichkeit auswirkt.iOS: Erzwungene geschlossene App wird im Hintergrund neu gestartet

Wenn ein Benutzer den Hintergrund der App (durch Drücken der Home-Taste), können wir deutlich sehen, die App in den Hintergrund. Wenn der Benutzer dann die App zwangsweise schließt (durch zweimaliges Antippen der Home-Taste und Hochschieben der App), wird die App normal beendet. Wenn die App dann erneut geöffnet wird, folgt sie der normalen iOS-Startsequenz.

Wenn der Benutzer jedoch während der Ausführung der App auf die Home-Taste doppelklickt (die App nicht aktiviert, aber nicht in den Hintergrund sendet) und anschließend die App zwangsweise schließt (indem sie in der App nach oben zieht) Wir sehen, dass die App beendet wird (der Prozess wird beendet), aber dann wird die App sofort im Hintergrund neu gestartet (mit einer neuen PID). Die App wurde nicht zum Starten oder Ausführen im Hintergrund entwickelt, was zu UX-Problemen führt.

Die App hat keine Berechtigungen, im Hintergrund ausgeführt zu werden, obwohl wir einige Bibliotheken von Drittanbietern haben, deren Aufgaben beim Start der App in den Hintergrund gestellt werden.

Ich vermute, das Problem ist ein Ergebnis der App wird zwangsweise aus einem nicht aktiven Zustand statt einem Hintergrund-Zustand geschlossen. Wenn die App zuerst in den Hintergrund tritt, erhalten die Aufgaben von Drittanbietern eine Chance. Wenn die App aus dem nicht aktiven Zustand zwangsgekoppelt wird, werden die Aufgaben im Hintergrund nie geändert, sodass iOS die App im Hintergrund neu startet, damit diese Aufgaben geändert werden können. Es ist jedoch unklar, ob dies richtig ist.

-Stix

+0

Haben Sie eine Frage? Bis jetzt haben Sie uns einfach eine schöne Geschichte erzählt. – rmaddy

Antwort

0

Ich denke, irgendwie die Fragen selbstverständlich waren, aber wenn nicht:

  1. Ist das richtige Verhalten für iOS? Sollte iOS die App im Hintergrund neu starten, wenn der Benutzer die App zwangsweise schließt, ohne sie in den Hintergrund zu stellen?

  2. Wenn dies das richtige Verhalten ist, was kann dazu führen, dass dies geschieht? Ist es möglich, dass ein Framework von Drittanbietern - das immer noch eine nicht abgeschlossene Hintergrundaufgabe ausführt - der Schuldige ist?

  3. Das erzwungene Schließen funktioniert einwandfrei, wenn die App zuerst in den Hintergrund gestellt wird (Hintergrundaufgaben können damit vervollständigen/ablaufen). Gibt es trotzdem einen Hintergrund, wenn die App zwangsweise geschlossen wird, während sie sich in einem nicht aktiven Zustand befindet?