45 votes

Détection des paramètres utilisateur pour l'actualisation de l'application en arrière-plan dans iOS 7

À partir de l'iOS 7, Apple Multitâche Api permettent aux applications de s'exécuter dans un trois nouveaux Modes de Fond: Fond d'extraction, la notification à Distance le contenu, et le Fond d'un service de transfert. Apple donne également aux utilisateurs d'iOS de la capacité de contrôler si toutes les applications sont autorisées à s'exécuter en arrière-plan ou si les applications peuvent s'exécuter en arrière-plan (Réglages > Général > Historique de l'App Actualiser). Est il y a un moyen pour que mon application de programmation pour détecter si l'utilisateur a désactivé mon application la capacité de l'actualisation en arrière-plan?

77voto

michael Points 1630

c'est ce que vous recherchez.

 if ([[UIApplication sharedApplication] backgroundRefreshStatus] == UIBackgroundRefreshStatusAvailable) {

    NSLog(@"Background updates are available for the app.");
}else if([[UIApplication sharedApplication] backgroundRefreshStatus] == UIBackgroundRefreshStatusDenied)
{
    NSLog(@"The user explicitly disabled background behavior for this app or for the whole system.");
}else if([[UIApplication sharedApplication] backgroundRefreshStatus] == UIBackgroundRefreshStatusRestricted)
{
    NSLog(@"Background updates are unavailable and the user cannot enable them again. For example, this status can occur when parental controls are in effect for the current user.");
}
 

8voto

Leo Liu Points 41

Vérifier UIApplication de backgroundRefreshStatus de la propriété. Ce qui suit est cité apple document.

Cette propriété reflète si l'application peut être lancée dans le fond de la poignée arrière-plan des comportements, tels que le traitement de fond de l'emplacement des mises à jour et en arrière-plan extrait. Si votre application repose sur sa lancée en arrière-plan pour effectuer des tâches, vous pouvez utiliser la valeur de cette propriété pour déterminer si cela est possible, et d'avertir l'utilisateur si il ne l'est pas. Ne pas avertir l'utilisateur si la valeur de cette propriété est définie à UIBackgroundRefreshStatusRestricted; un utilisateur restreint n'ont pas la possibilité d'activer le multitâche pour l'application.

0voto

java Points 112

Je ne suis pas sûr que cela vous aidera ou non, mais jetez un œil http://hayageek.com/ios-background-fetch/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X