Einzelnen Beitrag anzeigen

NickD

Registriert seit: 10. Okt 2012
Ort: Burgsinn
53 Beiträge
 
Delphi 10.3 Rio
 
#1

iOS App - TTask im Hintergrund

  Alt 27. Jun 2016, 10:50
Hallo zusammen,
ich habe aktuelle eine App die sich mit einem Datasnap Server verbindet, welcher Daten zur Verfügung stellt, die in einer lokalen Datenbank in der App gespeichert werden.
Die Abfrage sowie das Eintragen der Daten in die lokale Datenbank, werden über TTasks gemacht.

Das Problem beginnt, sobald die App in den Hintergrund gelegt wird:
Unter Android funktioniert dies ohne Probleme. Der Task läuft solange, bis alle Daten abgefragt und eingetragen wurden.
Bei iOS stoppt der Task mit der Ausführung nach etwa 10 Sekunden, nachdem die App in den Hintergrund gelegt wurde.
Zwar wird dieser weiter ausgeführt nachdem die App wieder in den Vordergrund kommt, jedoch sollte dies auch im Hintergrund weiterlaufen.

Ich habe mich dazu auf verschiedenen Blogs und Foren informiert bezüglich Background Mode "Fetch". Dieser lässt aber eine Ausführung nur für 30 weitere Sekunden zu, soweit ich die Informationen richtig verstanden habe.
Desweiteren habe ich mir verschieden Möglichkeiten angesehen, z.B. einen Background Task Manager. Dieser bringt auf den neuen iOS Versionen jedoch eine Zugriffsverletzung.
Dann habe ich noch folgendes dazu gefunden: Eine Audiodatei im Hintergrund abzuspielen, welche gestoppt wird, sobald die synchronisierung mit dem Datasnap Server fertig ist. Dies wird jedoch niemals durch die Prüfung bei Apple kommen. Außerdem klingt das nach einer völlig unsauberen "Lösung" des Problems.

Die Synchronisierung kann durchaus auch mal > 10 Minuten betragen, je nach Verbindungsqualität des mobilen Gerätes.

Ich hoffe Ihr habt Vorschläge bzw. wisst ob dies überhaupt möglich ist.

Mit freundlichen Grüßen
Nick.
  Mit Zitat antworten Zitat