Erweitern Hintergrund Zeitlimit für Aufgaben beim Hochladen von großen Videos iOS [geschlossen]

8

Ich habe eine Anwendung, in der ich große Videos in Amazon S3-Bucket hochladen muss. Ich verwende NSOperations, die durch eine NSOperationQueue reguliert werden, um gleichzeitige Aufgaben auszuführen.

Ich habe keine Probleme beim Hochladen kleiner Videos (kleiner als 200 MB). Aber das Problem ist, wenn ich versuche, ein großes Video hochzuladen, nach 10 Minuten wird der Upload-Prozess unterbrochen.

Ich verwende bereits beginBackgroundTaskWithExpirationHandler:^ , um ein Fenster von 10 Minuten zu erhalten. Was ist der richtige Weg, um diese Zeitüberschreitung zu verlängern?

Wird Apple die App ablehnen, wenn es mir irgendwie gelingt, dieses Timeout zu verlängern?

Derzeit habe ich den folgenden Code in meinem AppDelegate , den ich unter Bezugnahme auf den Link erstellt habe iPhone - Hintergrundinformationen für Ereignisse

%Vor%

Mit diesem Codeabschnitt sehe ich, dass die Hintergrundaufgabe nie unterbrochen wird. Wie Sie im Exspiration-Handler sehen können, habe ich ein weiteres Hintergrund-Task-Ereignis initiiert, das zu einer unendlich laufenden Aufgabe führt. Obwohl ich die Logik schreiben kann, um die Hintergrundaufgabe zu beenden, sobald mein Upload beendet ist, aber ich habe Zweifel an diesem Ansatz.

Was denkt ihr?

Ist es auf jeden Fall ein Hack? Wird Apple die App für folgende Vorgehensweise ablehnen?

    
Xcoder 28.11.2012, 08:38
quelle

2 Antworten

2

Die Hintergrundaufgabe besteht darin, zu verhindern, dass Anwendungen kontinuierlich im Hintergrund ausgeführt werden. Mit anderen Worten, wenn Sie versuchen, die Einschränkungen, die Apple eingeführt hat, zu umgehen, haben sie Grund, Ihre Bewerbung abzulehnen.

Die Frage, ob sie das tun werden, kann nur von Apple beantwortet werden. Wie Daij-Djan jedoch erwähnt, gibt es andere Situationen, in denen Ihre Anwendung getötet werden kann.

Vor ein paar Monaten war ich mit einer ähnlichen Situation konfrontiert, das heißt, eine Anwendung musste große Dateien in einen S3-Bucket hochladen. Die Lösung verwendet mehrteilige Uploads, um sicherzustellen, dass der Upload-Prozess fortgesetzt wird, sobald Ihre Anwendung aktiv wird. Weitere Informationen zu mehrteiligen Uploads finden Sie in der API-Referenz .

    
Bart Jacobs 28.11.2012, 10:29
quelle
2

es scheint hackisch aber nicht schlecht IMHO (das Gegenteil): D

Wenn Apple es durchlässt, bist du golden, aber in Wirklichkeit missbrauchst du bg-Aufgaben

Übrigens: Auch damit kann IOS Sie einfach streichen! + keine CPU-intensive / speicherintensive Arbeit machen, da dies die Leistung anderer Apps beeinflussen kann

    
Daij-Djan 28.11.2012 08:42
quelle

Tags und Links