Ho un'applicazione in cui devo caricare video di grandi dimensioni su Amazon s3 bucket. Sto usando NSOperations regolato da un NSOperationQueue per eseguire attività concorrenti.Estensione del periodo di timeout dell'attività durante il caricamento di video di grandi dimensioni iOS
Non ho problemi durante il caricamento di piccoli video (inferiore a 200 Mb). Ma il problema è quando provo a caricare un video di grandi dimensioni, dopo 10 minuti il processo di caricamento viene interrotto.
Sto già utilizzando beginBackgroundTaskWithExpirationHandler:^
per ottenere una finestra di 10 minuti. Qual è il modo corretto con cui posso estendere questo periodo di timeout?
Apple rifiuterà l'app se in qualche modo riesco ad estendere questo timeout?
Attualmente ho il seguente codice nel mio AppDelegate
che ho costruito facendo riferimento al link iPhone - Backgrounding to poll for events
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UIApplication* app = [UIApplication sharedApplication];
dispatch_block_t expirationHandler;
expirationHandler = ^{
bgTask = [app beginBackgroundTaskWithExpirationHandler:expirationHandler];
};
bgTask = [app beginBackgroundTaskWithExpirationHandler:expirationHandler];
}
Con questo pezzo di codice che vedo che il compito di sfondo viene mai interrotto. Come puoi vedere all'interno del gestore di scadenza, ho avviato un altro evento di attività in background che conduce a un'attività in esecuzione infinita. Anche se posso scrivere la logica per terminare l'attività in background una volta che il caricamento è terminato, ma ho dei dubbi su questo approccio ..
Cosa ne pensate?
È un hack con qualsiasi mezzo? Apple rifiuterà l'app per il seguente approccio?
bgTask = [app beginBackgroundTaskWithExpirationHandler:^(void) { [self.queue waitUntilAllOperationsAreFinished]; [app endBackgroundTask: bgTask]; bgTask = UIBackgroundTaskInvalid; }]; Che ne pensi di questo ragazzi ?? – Xcoder
Voi ragazzi non avete il diritto di discutere con risposte stupide e commenti stupidi. Onestamente questo è un argomento su cui discutere. Per favore ragazzi, vorrei chiedervi una discussione aperta, in modo da poter osservare i dettagli di tutto. Grazie –
posso usare NSOperationQueue per caricare grandi video in background, apple rifiuterà la mia app ?? –