Wat te doen met Onderbrekingen in uw iOS Applicatie

Op een iOS-apparaat met iOS 4.2 of nieuwere versies, kunnen diverse evenementen naast de beƫindiging van uw app te onderbreken, zodat de gebruiker om te reageren - bijvoorbeeld, agenda waarschuwingen of de gebruiker te drukken op de knop Sleep / Wake - en uw app verhuist naar de inactieve toestand.

Als de gebruiker ervoor kiest om een onderbreking te negeren, uw app gaat terug in de actieve staat en blijft als voorheen draaien. Als de gebruiker besluit om het alarm te gaan met het (of, indien de onderbreking was van de gebruiker het aanraken van de Home-knop om te schakelen van uw aanvraag), dan is uw app verhuist naar de achtergrond staat, waar het wordt geschorst, maar blijft in het geheugen tikt.

iOS stuurt u een aantal berichten om u te laten weten precies wat er gebeurt als je de kans geven om acties zoals het opslaan van gebruikersgegevens en staat informatie, wat betekent dat het opslaan op het punt waar de gebruiker was in de aanvraag te nemen. (Als een app nodig heeft om door te gaan hardlopen, kan het uitvoeringstijd vragen uit het systeem.)

Omdat de app is op de achtergrond (hardlopen of geschorst) en nog in het geheugen, heractivering is bijna onmiddellijk. Objecten van een app (met inbegrip van de ramen en het uitzicht) blijven in het geheugen, zodat ze niet opnieuw hoeven te worden gemaakt wanneer de app nieuw leven wordt ingeblazen. Als het geheugen wordt beperkt, kunnen iOS achtergrond apps te zuiveren om meer ruimte voor de voorgrond app te maken.

Omdat deze onderbrekingen veroorzaken een tijdelijk verlies van controle door uw app, zijn aanraking gebeurtenissen niet meer verzonden naar uw app. Bij de ontwikkeling van uw app, moet u dit feit rekening te houden. Bijvoorbeeld, als uw app is een spel, je moet het spel te pauzeren wanneer uw spel wordt onderbroken.

In het algemeen moet je app informatie over de huidige toestand op te slaan wanneer het beweegt naar de inactieve toestand en in staat zijn om zichzelf te herstellen naar de huidige toestand als bij een volgende herstart.

In alle gevallen is de reeks gebeurtenissen gestart op dezelfde manier - het applicationWillResignActive: bericht verzonden naar de toepassing gemachtigde wanneer de toepassing gaat verplaatsen van actieve tot inactieve toestand. In deze methode, moet u lopende taken, disable timers, gaspedaal naar beneden OpenGL ES framerates pauzeren (dat is, moet u deze methode gebruiken om het spel te pauzeren), en dingen over het algemeen in de wacht gezet.

Wat na deze afhankelijk a) de aard van de onderbreking, en b) hoe de gebruiker reageert op de onderbreking. Uw aanvraag kan ofwel worden verplaatst naar de achtergrond of gereactiveerd.