À 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?
Réponses
Trop de publicités?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.");
}
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.
Je ne suis pas sûr que cela vous aidera ou non, mais jetez un œil http://hayageek.com/ios-background-fetch/