Szukałem dosłownie tygodni, aby znaleźć odpowiedź lub przykład, jak to zrobić.W jaki sposób połączenie nawiązane z NSURLConnection na pierwszym planie może być kontynuowane w tle?
Wszystkie przykłady/samouczki dla NSURLConnection pokazują, że zaczyna się na pierwszym planie lub zaczyna się w tle, tak samo wszystkie przykłady dla beginBackgrounTaskWithExpirationHandler: pokaż, jak uruchomić zadanie w tle po wprowadzeniu tła.
O ile mogę powiedzieć, nie ma nic w Internecie lub książek, które pokazują, jak rozpocząć połączenie, gdy na pierwszym planie, a następnie, jeśli nie jest zakończony, kontynuuj go w tle.
Odpowiedź na to pytanie nie jest właściwie odpowiedzieć na pytanie:
Jeśli czytasz referened Beyond sekcji Basics to mówi: „Podczas gdy aplikacja jest na pierwszym planie zadanie tło wygrał” mieć żadnego efektu ". Oznacza to, że nie można rozpocząć zadania w tle za pomocą NSURLConnection na pierwszym planie, jeśli chcesz pobrać na pierwszym planie.
Dokument mówi „Podczas gdy aplikacja jest na pierwszym planie zadanie tła nie będzie miało żadnego wpływu, jednakże , jeśli użytkownik przeniesie aplikację na miejsce, istnienie zadania w tle automatycznie zatrzyma działanie aplikacji, aby mogła zakończyć operację. " To ma dla mnie sens, ponieważ zadanie w tle powinno działać - po uruchomieniu zadania (np. Pobranie pliku) na pierwszym planie, jeśli aplikacja wejdzie w tło, zakończy zadanie pobierania bez przerywania połączenia sieciowego . – sbs