Как продолжить в фоновом режиме соединение, начатое с NSURLConnection на переднем плане?

Я попробовал ответ на этот вопрос

Как соединение может начаться с NSURLConnection, в то время как на переднем плане может быть продолжено в фоновом режиме?

И работает как шарм! но только если устройство подключено к моему iMac... После того, как я отключил свое устройство iOS, приложение работает еще 3 минуты в фоновом режиме, а затем приложение запускается снова, этого не происходит, если подключено устройство iOS. Почему это происходит? Есть ли способ продолжить загрузку в фоновом режиме до тех пор, пока 10 минут, как должно быть?

Я не реализую этот код

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
    // Handle the error
    ...
    //this line
    [[UIApplication sharedApplication] endBackgroundTask:self.backgroundTaskID];
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    // Save the downloaded data
    ...
    //and this line
    [[UIApplication sharedApplication] endBackgroundTask:self.backgroundTaskID];
}

1 ответ

NSURLConnection не предназначался для использования, когда ваше приложение не запущено. Используйте задачу загрузки в фоновом сеансе NSURLSession, и она будет работать так, как вы ожидаете.

Другие вопросы по тегам