2017-01-25 5 views
0

Ich habe eine App, die rekursive Aufrufe an eine API nach jeder Minute oder so funktioniert es gut, während App ist aktiv, aber nicht funktioniert, wenn es im Hintergrund ist.reagieren nativen Hintergrund API-Aufrufe auf iOS

Ich testete die gleiche App auf Android und sogar im Hintergrund funktioniert es gut, aber auf iOS hört es auf, die API aufzurufen.

Fehle ich etwas oder was sollte ich tun, um es zu lösen?

Jede schnelle Hilfe bitte?

+0

Ich wurde Lösung gesucht und gefunden diesen Link: http://stackoverflow.com/questions/37565643/background-execution-automatically-stops-after-3-minutes es auch hier erklären, dass es möglich ist, : https://krumelur.me/2015/11/25/ios-background-transfer-what-about-uploads/ aber nicht in der Lage, es zu lösen. –

+0

Haben Sie die Lösung für dieses Problem gefunden? –

Antwort

1

Seit Januar 2017 haben Sie ein paar Optionen, aber keine sind nativ für iOS jetzt-es ist etwas they're working on. Für Android (obwohl es scheint, dass Sie dies gelöst haben) können Sie Headless.js verwenden.

Für iOS haben Sie ein paar Optionen, je nach Aufgabe:

+0

Vielen Dank für die Antwort, und ich habe es bereits versucht: reactive-native-background-timer aber hier ist was ich wirklich fest: sobald ich hinzufügen und verknüpfen diese Komponente verwende ich eine andere Maske bearbeiten Komponente: reactive-native-masked- Text Nun, wenn beide hinzufügen, bekomme ich diesen Fehler: Maskentyp nicht unterstützt. das ist, wie ich es verwende: this.setState ({Phone: event.nativeEvent.text})} /> –

+0

Ich habe es geschafft: reactive-native-background-timer war die Lösung für mich. Vielen Dank –

+0

ok Ich versuchte zu verwenden (reagieren-native-Hintergrund-Timer) dies aber hier was passiert ist: es funktioniert gut, aber es immer aufhören nach 2-3 Minuten, ich bin mir nicht sicher, warum, aber ich versuche alles das gleiche Ergebnis . (Ich teste auf einem iPhone, mit und ohne Schloss mit dem gleichen Ergebnis.). Jede schnelle Hilfe bitte? –

0

Im Januar 2018 gibt es bessere Optionen (hurra für den Fortschritt sind!). Dies kann jetzt vollständig in JS Cross Platform im reaktiven nativen unter Verwendung von react native queue und react native background task erfolgen.

Here's a walkthrough for setting this up.

Allerdings gibt es Einschränkungen:

  • Das kleinste Zeitintervall zwischen der Taskausführung ist ~ 15 min.
  • Die Hintergrundaufgabe hat eine Timeout-Grenze von 30 Sekunden.
  • Der Aufgabenplan ist ungefähr. iOS/Android verwenden Akkulaufzeit, aktuelle CPU-Last usw., um festzustellen, ob eine geplante Aufgabe ausgeführt werden kann oder ob die Ausführung verzögert oder sogar abgebrochen werden sollte. Es wird im Allgemeinen laufen, wenn Sie es wollen, aber erwarten Sie nicht, dass das Timing genau ist.
Verwandte Themen