Registrace aplikací Xamarin.iOS ke spuštění na pozadí

Registrace jednotlivých úloh pro oprávnění na pozadí funguje u některých aplikací, ale co se stane, když je aplikace neustále volána k provádění důležitých dlouhotrvajících úloh, jako je získání pokynů pro uživatele přes GPS? Takové aplikace by se měly místo toho zaregistrovat jako známé aplikace nezbytné na pozadí.

Registrace signálu aplikace pro iOS, že aplikace by měla mít speciální oprávnění potřebná k provádění úloh na pozadí.

Kategorie registrace aplikací

Registrované aplikace můžou spadat do několika kategorií:

  • Zvuk – Přehrávače hudby a další aplikace, které pracují se zvukovým obsahem, mohou být zaregistrovány, aby pokračovaly v přehrávání zvuku i v případě, že aplikace už není v popředí. Pokud se aplikace v této kategorii pokusí provést cokoli jiného než přehrávání zvuku nebo stahování na pozadí, iOS ji ukončí.
  • VoIP – Aplikace VoIP (Voice Over Internet Protocol) získají stejná oprávnění udělená zvukovým aplikacím, aby se zachovalo zpracování zvuku na pozadí. Mohou také reagovat podle potřeby na služby VoIP, které je pomůžou, aby jejich připojení zůstala aktivní.
  • Externí příslušenství a Bluetooth – Vyhrazeno pro aplikace, které potřebují komunikovat se zařízeními Bluetooth a dalšími externími hardwarovými příslušenstvími, registrace v těchto kategoriích umožňuje aplikaci zůstat připojená k hardwaru.
  • Newsstand – Aplikace Newsstand může dál synchronizovat obsah na pozadí.
  • Umístění - Aplikace, které využívají údaje o GPS nebo síťovém umístění mohou odesílat a přijímat aktualizace polohy na pozadí.
  • Fetch (iOS 7+) – Aplikace zaregistrovaná pro oprávnění k načítání na pozadí může v pravidelných intervalech zkontrolovat zprostředkovatele nového obsahu a prezentovat uživatele s aktualizovaným obsahem, když se vrátí do aplikace.
  • Vzdálená oznámení (iOS 7+) – Aplikace se můžou zaregistrovat, aby dostávaly oznámení od poskytovatele, a pomocí oznámení zahajovat aktualizaci před tím, než uživatel aplikaci otevře. Oznámení můžou mít podobu nabízených oznámení nebo se můžete rozhodnout aplikaci probudit bezobslužně.

Aplikace lze zaregistrovat nastavením vlastnosti Požadované režimy pozadí v souboru Info.plist aplikace. Aplikace se může zaregistrovat v tolika kategoriích, kolik vyžaduje:

Setting the background modes

Podrobný průvodce registrací aplikace pro aktualizace umístění na pozadí najdete v návodu k umístění na pozadí.

Aplikace se nespustí ve vlastnosti pozadí

Další vlastností, kterou lze nastavit v souboru Info.plist , je aplikace nespustí na pozadí nebo UIApplicationExitsOnSuspend vlastnost:

Disabling Background Running

To má stejný účinek jako nastavení aktualizace aplikace na pozadí na vypnuto v iOSu 7+, s výjimkou toho, že se dá změnit jenom na straně vývojáře a je k dispozici pro iOS 4 a vyšší. Aplikace bude pozastavena okamžitě po vstupu na pozadí a nebude moci provádět žádné zpracování.

Tuto vlastnost použijte, pokud vaše aplikace není navržená pro zpracování na pozadí, protože pomáhá vyhnout se neočekávanému chování.

Načítání na pozadí a vzdálená oznámení

Načítání na pozadí a vzdálená oznámení jsou speciální kategorie registrace zavedené v iOSu 7. Tyto kategorie umožňují aplikacím přijímat nový obsah od poskytovatele a aktualizovat je na pozadí. V další části se podrobněji seznámíte s načítáním a vzdálenými oznámeními a také se seznámíte s umístěním jako prostředky pro aktualizaci aplikace na pozadí v iOSu 6.