Zauważyłem z moich dzienników DNS, że domeny powiązane z niewielką liczbą aplikacji innych firm są dostępne co około pół godziny lub co godzinę, nawet jeśli odpowiednia aplikacja nie jest aktywna, a nawet gdy telefon jest zablokowany.
W przeszłości rozumiałem, że aplikacje firm trzecich nie działają, chyba że są aktywną aplikacją, a wszystkie powiadomienia pochodzą ze scentralizowanej usługi Apple. Jakiego mechanizmu używa się w celu umożliwienia tej komunikacji i jakie są powody, dla których te aplikacje muszą dzwonić do domu tak często, gdy nie ma aktywności aplikacji?
Odpowiedzi:
Apple dokumentuje wysoką funkcjonalność w artykule dotyczącym procesów w tle:
Możesz zajrzeć do archive.org, aby zobaczyć wersję tego systemu dla iOS 6, ale prawie wszystko z iOS 7 ma zastosowanie w iOS 6, z wyjątkiem nowej funkcjonalności „odświeżania aplikacji w tle”.
Jeśli chciałbyś głębiej zrozumieć, jak działa wielozadaniowość, zacznę od tej części dokumentacji programisty:
Bez przechwytywania ruchu APNS (lub przy użyciu Instruments do śledzenia systemu operacyjnego podczas jego uruchamiania) trudno stwierdzić, czy 30-minutowy dostęp jest wynikiem Lokalne powiadomienia a może powiadomienia push wysyłane ze strony serwera, powodujące okresowe budzenie aplikacji. Mam nadzieję, że to wystarczy, aby zacząć śledzić rzeczy.
źródło