2017-10-31 1 views
0

Meine Frage beinhaltet, eine App zu behalten, die Benutzerinteraktionen im Hintergrund überwacht, z. B. Zeit in einer oder der App. Das Problem tritt auf, wenn Sie nicht länger als 10 Minuten einen Hintergrundprozess ausführen lassen oder gegen die Sandbox-Beschränkungen von Apple verstoßen. Da ich relativ neu in der Apple-API bin und keine direkte Antwort finden konnte, die keine Ortungsdienste oder VOIP beinhaltete (was beides interessante Optionen sind, aber meine Anwendung wird nicht in der Lage sein, sie zu benutzen), frage ich mich für Optionen, die ich verstehen kann, wenn eine andere App öffnet, wenn sie schließt, wenn sie Daten holt und wenn der Benutzer das Telefon in einer bestimmten Ausrichtung hält (zB wenn Leute ihr Telefon in bestimmten Winkeln halten, um Text und ähnliches zu lesen) Zeit.In iOS11, wie Sie eine Hintergrundaufgabe über 10 Minuten laufen lassen?

Der Zweck dieser Analyse ist es, eine Aufmerksamkeitsspanne für den Benutzer vorherzusagen, also muss ich in der Lage sein, im Hintergrund zu laufen, da der Benutzer meine App nicht benutzt, während er die Aufmerksamkeitsspanne vorhersagt.

Meine Gedanken darüber sind möglicherweise Zugriff auf das Systemprotokoll und irgendwie vorherige Anweisungen parsen (ich glaube nicht, Sandbox wird erlauben), aber zwangsläufig das iOS-System wird meine Prozesse nach einem bestimmten Zeitpunkt ausgesetzt, wenn ich einen Timer setzen. Es gibt auch die Möglichkeit, dass das System meine App über opportunistisches Holen aktiviert, aber das ist nicht nützlich, wenn ich die Daten nicht sammle.

Denken Sie daran, dies ist in IOS 11, so ist es viel restriktiver als vorherige Iterationen. Ich verstehe, dass dies wie ein komplexes Problem erscheint, aber sogar eine Richtung, in der ich vorangehen könnte, könnte für mich nützlich sein.

+0

Jede Analyse, die auf das Gerät/andere Apps abzielt, anstatt dass Ihre App früher oder später von Apple gestoppt wird:/ – eddyce

+0

Sie können nicht tun, was Sie tun möchten. Erlaubte iOS-Hintergrundausführungsmodi sind im iOS-Anwendungshandbuch beschrieben. Es gibt keine Option für eine unbestimmte Hintergrundausführung. Der Missbrauch von Hintergrundmodi wie Audio oder Ort führt zur Ablehnung. – Paulw11

Antwort

0

Diese Lösung könnte funktionieren (nicht empfohlen, da die Batterie schneller entladen wird). Aktualisieren Sie einfach Ihren aktuellen Standort alle 10 Minuten. Es wird den Hintergrund-Thread-Timer zurücksetzen.

Verwandte Themen