Udostępnij za pośrednictwem


Rejestrowanie aplikacji platformy Xamarin.iOS do uruchamiania w tle

Rejestrowanie poszczególnych zadań dla uprawnień w tle działa w przypadku niektórych aplikacji, ale co się stanie, jeśli aplikacja jest stale wzywana do wykonywania ważnych, długotrwałych zadań, takich jak uzyskiwanie wskazówek dla użytkownika za pośrednictwem GPS? Aplikacje takie jak te powinny być zarejestrowane jako znane aplikacje niezbędne w tle.

Zarejestrowanie aplikacji sygnałów dla systemu iOS, że aplikacja powinna mieć specjalne uprawnienia niezbędne do wykonywania zadań w tle.

Kategorie rejestracji aplikacji

Zarejestrowane aplikacje mogą należeć do kilku kategorii:

  • Dźwięk — odtwarzacze muzyczne i inne aplikacje współpracujące z zawartością audio mogą być zarejestrowane w celu kontynuowania odtwarzania dźwięku nawet wtedy, gdy aplikacja nie znajduje się już na pierwszym planie. Jeśli aplikacja w tej kategorii podejmie próbę wykonania niczego innego niż odtwarzanie dźwięku lub pobieranie w tle, system iOS zakończy działanie.
  • VoIP — aplikacje voIP (Voice Over Internet Protocol) uzyskują te same uprawnienia przyznane aplikacjom audio w celu przetwarzania dźwięku w tle. Mogą również reagować zgodnie z potrzebami usług VoIP, które je zasilają, aby utrzymać swoje połączenia przy życiu.
  • Akcesoria zewnętrzne i Bluetooth — zarezerwowane dla aplikacji, które muszą komunikować się z urządzeniami Bluetooth i innymi zewnętrznymi akcesoriami sprzętowymi, rejestracja w ramach tych kategorii umożliwia aplikacji pozostawanie w kontakcie ze sprzętem.
  • Newsstand — aplikacja newsstand może nadal synchronizować zawartość w tle.
  • Lokalizacja — aplikacje korzystające z gps lub lokalizacji sieciowej mogą wysyłać i odbierać aktualizacje lokalizacji w tle.
  • Pobieranie (iOS 7+) — aplikacja zarejestrowana na potrzeby pobierania w tle uprawnień może sprawdzać dostawcę nowej zawartości w regularnych odstępach czasu, prezentując użytkownikowi zaktualizowaną zawartość po powrocie do aplikacji.
  • Powiadomienia zdalne (iOS 7+) — aplikacje mogą rejestrować się w celu odbierania powiadomień od dostawcy i używać powiadomienia, aby rozpocząć aktualizację przed otwarciem aplikacji przez użytkownika. Powiadomienia mogą pochodzić w postaci powiadomień wypychanych lub zdecydować się na dyskretne wznawianie aplikacji.

Aplikacje można zarejestrować, ustawiając właściwość Wymagane tryby tła w pliku Info.plist aplikacji. Aplikacja może zarejestrować się w dowolnej tylu kategoriach, ile wymaga:

Setting the background modes

Aby zapoznać się z przewodnikiem krok po kroku dotyczącym rejestrowania aplikacji pod kątem aktualizacji lokalizacji w tle, zobacz Przewodnik po lokalizacji w tle.

Aplikacja nie jest uruchamiana we właściwości background

Inną właściwością, którą można ustawić w pliku Info.plist , jest to, że aplikacja nie działa w tle lub UIApplicationExitsOnSuspend właściwość:

Disabling Background Running

Ma to dokładnie taki sam efekt, jak ustawienie ustawienia Odświeżanie aplikacji w tle na wyłączone w systemie iOS 7 lub nowszym, z wyjątkiem tego, że można go zmienić tylko po stronie dewelopera i jest dostępne dla systemu iOS 4 i nowszych. Aplikacja zostanie zawieszona natychmiast po wejściu w tle i nie będzie mogła wykonać żadnego przetwarzania.

Użyj tej właściwości, jeśli aplikacja nie jest zaprojektowana do obsługi przetwarzania w tle, ponieważ pomaga uniknąć nieoczekiwanego zachowania.

Pobieranie w tle i powiadomienia zdalne

Pobieranie w tle i powiadomienia zdalne to specjalne kategorie rejestracji wprowadzone w systemie iOS 7. Te kategorie umożliwiają aplikacjom odbieranie nowej zawartości od dostawcy i aktualizowanie ich w tle. W następnej sekcji bardziej szczegółowo omówiono pobieranie i powiadomienia zdalne, a także wprowadzono świadomość lokalizacji jako metodę aktualizowania aplikacji w tle w systemie iOS 6.