O que devo fazer quando o processamento normal da minha candidatura ios é interrompido?
Em um dispositivo iOS, vários eventos além de terminação pode interromper seu aplicativo para permitir que o usuário para responder e sua aplicação se muda para a estado inativo.
Conteúdo
Video: iPhone 6 iOS 8.1 Jailbroken vs. iPhone 6 iOS 8.1 Stock - Which Is Faster? (4K)
iOS envia-lhe uma série de mensagens para que você saiba exatamente o que está acontecendo, bem como dar-lhe a oportunidade de tomar ações, como salvar os dados do usuário e informações de estado, o que significa salvar o ponto onde o usuário estava no aplicativo. Porque o aplicativo está no fundo e ainda na memória, relançamento é quase instantânea.
objetos de um aplicativo permanecem na memória, para que eles não precisam ser recriados quando o aplicativo relança. Se a memória torna-se restrita, iOS pode purgar aplicativos em segundo plano para dar mais espaço para o aplicativo primeiro plano.
Video: iPhone 5S iOS 9.2.1 Low Power Mode Battery Review!
Porque essas interrupções causar uma perda temporária do controlo por seu aplicativo, eventos de toque não são mais enviados para a sua aplicação.
A sequência de eventos começa sempre da mesma forma - com o applicationWillResignActive: mensagem enviada ao delegado do aplicativo quando o aplicativo está prestes a mover-se de ativo para estado inativo. Neste método, você deve pausar as tarefas em curso, desative temporizadores, acelerador para baixo as taxas de frame OpenGL ES, e geralmente colocar as coisas em espera.
O que acontece depois disso depende a) a natureza da interrupção, e b) como o usuário responde à interrupção. Seu aplicativo pode ser movido para o fundo ou reativado.
Se o usuário responde à interrupção ou lançou outro aplicativo, seu aplicativo é movido para o fundo.
As próximas duas balas explicar as mensagens que seu aplicativo pode responder a depois de ter sido movido para o fundo:
o applicationDidEnterBackground: mensagem: Quando seu primeiro aplicativo entra no estado de fundo, ele é enviado a applicationDidEnterBackground:mensagem. Neste método, você deve salvar os dados não salvos ou Estado (O ponto de vista atual, as opções selecionadas, e coisas assim) em um arquivo cache temporário ou para o banco de dados preferências no disco.
Mesmo que a sua aplicação entra no estado de fundo, você não tem nenhuma garantia de que ele irá permanecer lá indefinidamente. Se a memória torna-se restrita, iOS irá limpar aplicativos em segundo plano para dar mais espaço para o aplicativo primeiro plano. Você precisa fazer tudo o necessário para ser capaz de restaurar a sua aplicação no caso é posteriormente excluídos da memória.
Se seu aplicativo é removido quando é neste estado suspenso, ele não recebe nenhum aviso de que ele é removido da memória. É por isso que você precisa para salvar os dados quando você recebe o applicationDidEnterBackground:mensagem.
Video: iOS 9 - Improve Battery Life! (Low Power Mode)
Quando o delegado é enviado ao applicationDidEnterBackground:método, a sua aplicação tem uma quantidade não documentada de tempo para terminar as coisas. Se o applicationDidEnterBackground:método não retornar antes do tempo acabar (ou se o seu aplicativo não solicitar mais tempo de execução do iOS), sua aplicação é encerrada e excluídos da memória.
Se seu aplicativo requer mais tempo de execução ou tiver declarado que ele faz a execução do fundo, ele está autorizado a continuar funcionando após a applicationDidEnterBackground:método retorna. Se não, seu (agora) aplicação de fundo é movido para a suspenso Estado logo após o retorno do applicationDidEnterBackground:método.
Se o aplicativo está em segundo plano, então ele pode ser relançado. Isso pode acontecer se o usuário seleciona o aplicativo a partir da tela inicial ou na barra de multitarefa, ou é lançada pelo sistema se o aplicativo processa eventos em segundo plano ou monitora uma mudança significativa localização, por exemplo.
o applicationWillEnterForeground: mensagem: Quando seu aplicativo é relançada a partir do fundo, ele é enviado a applicationWillEnterForeground:mensagem. Neste método, você precisa para desfazer o que você fez no applicationDidEnterBackground: método.
Video: Saiba o que o Android faz e o iOS não faz!
Se o usuário ignora a mensagem SMS, ou o aplicativo é relançada a partir do fundo, a sua aplicação é reativado e começa a ficar sensível ao toque e outros eventos.
Quando seu aplicativo for reativado, ele é enviado a applicationDidBecomeActive: mensagem.
Você pode usar o applicationDidBecomeActive:método para restaurar o aplicativo para o estado em que estava antes da interrupção. Aqui você desfazer o que você fez no applicationWillResignActive método, tais como reiniciar as tarefas que foram pausados (ou ainda não iniciados), enquanto o aplicativo estava inativo. Se o aplicativo estava anteriormente no fundo, talvez seja necessário atualizar a interface do usuário.
Enquanto um aplicativo está no estado de suspensão, o sistema rastreia e aglutina (realmente netsout) eventos que possam ter um impacto sobre esse aplicativo quando relança. Assim que o aplicativo é instalado e funcionando novamente, o sistema oferece esses eventos para ele. Para a maioria desses eventos, infra-estrutura existente do seu aplicativo deve apenas responder apropriadamente.
Apps são geralmente mudou-se para segundo plano quando interrompido. Mas se o aplicativo foi compilado com uma versão muito inicial do SDK, ou está sendo executado em uma versão inicial do sistema operacional que não suporta multitarefa - ou se você decidir que você não quer que seu aplicativo para executar em segundo plano e você definir a UIApplicationExitsOnSuspend -chave na sua Info.plist Arquivo - iOS termina a sua aplicação.
Mesmo que o seu aplicativo suporta multitarefa, você ainda deve estar preparado para seu aplicativo para ser morto sem qualquer notificação. O usuário pode matar aplicativos explicitamente usando a barra de multitarefa. Além disso, se a memória torna-se restrita, o sistema pode remover aplicativos da memória para dar mais espaço. Se isso não remover seu suspenso aplicativo, ele não lhe dar qualquer aviso!
Quando o delegado aplicativo é enviado ao applicationWillTerminate: mensagem nonmultitasking aplicações, ou aqueles em execução em segundo plano, você precisa fazer os mesmos tipos de coisas que você faz em applicationDidEnterBackground:, só que desta vez você fazê-las saber que a sua aplicação não ser voltar a partir do fundo.
Seu applicationWillTerminate: implementação do método tem uma quantidade limitada de tempo para fazer o que precisa fazer e voltar. Qualquer mais do que isso e seu aplicativo é encerrado e excluídos da memória.