AFNetworkActivityIndicatorManager.sharedManager.enabled = YES;

muqaddarmuqaddar Administrateur

Dans la doc de AfNetworking, il suffirait de mettre:



AFNetworkActivityIndicatorManager.sharedManager.enabled = YES;

dans ApplicationDidFinishLaunchingWithOptions pour que l'indicateur s'affiche et se cache à  chaque requête réseau.


 


Moi, il reste affiché en permanence. Qu'est ce que j'ai loupé ?


Réponses

  • xylowebxyloweb Membre
    novembre 2014 modifié #2

    perso je lance plus tôt (AFN2.3.1)



      [[AFNetworkActivityIndicatorManager sharedManager] setEnabled:YES];

    c'est d'ailleurs comme ça dans la doc...


     



     


    /**


     `AFNetworkActivityIndicatorManager` manages the state of the network activity indicator in the status bar. When enabled, it will listen for notifications indicating that a network request operation has started or finished, and start or stop animating the indicator accordingly. The number of active requests is incremented and decremented much like a stack or a semaphore, and the activity indicator will animate so long as that number is greater than zero.


     


     You should enable the shared instance of `AFNetworkActivityIndicatorManager` when your application finishes launching. In `AppDelegate application:didFinishLaunchingWithOptions:` you can do so with the following code:


     


        [[AFNetworkActivityIndicatorManager sharedManager] setEnabled:YES];


     


     By setting `isNetworkActivityIndicatorVisible` to `YES` for `sharedManager`, the network activity indicator will show and hide automatically as requests start and finish. You should not ever need to call `incrementActivityCount` or `decrementActivityCount` yourself.


     


     See the Apple Human Interface Guidelines section about the Network Activity Indicator for more information:


     http://developer.apple.com/library/iOS/#documentation/UserExperience/Conceptual/MobileHIG/UIElementGuidelines/UIElementGuidelines.html#//apple_ref/doc/uid/TP40006556-CH13-SW44


     */


    @interface AFNetworkActivityIndicatorManager : NSObject


  • muqaddarmuqaddar Administrateur

    Bein, c'est juste la différence de syntaxe (point VS crochets), et ça ne change rien... ;)


  • samirsamir Membre
    novembre 2014 modifié #4

    peut être que tu fais des requêtes sans interruption  :) ?


  • muqaddarmuqaddar Administrateur


    peut être que tu fais des requêtes sans interruption  :) ?




     


    Je regarde mes logs et toutes les requêtes sont finies.


     


    D'ailleurs même si je ne lance aucune requête, l'indicateur marche tout le temps...

  • AliGatorAliGator Membre, Modérateur
    Tu n'activerais pas l'indicateur toi-même manuellement à  un endroit dans ton code, par hasard ?
    Si tu utilises cette fonctionnalité de AFNetworking, il faut qu'il soit le seul à  manipuler l'indicateur il me semble.
  • muqaddarmuqaddar Administrateur


    Tu n'activerais pas l'indicateur toi-même manuellement à  un endroit dans ton code, par hasard ?

    Si tu utilises cette fonctionnalité de AFNetworking, il faut qu'il soit le seul à  manipuler l'indicateur il me semble.




     


    Non, je ne m'en sers pas, je viens de vérifier.


     


    J'ai regardé le activityCount, et j'ai l'impression qu'il reste à  1...

  • Hello,


     


    J'ai l'impression ( ce que j'ai compris de son code ) qu'il faut mettre aussi la property isNetworkActivityIndicatorVisible = YES pour que ça fonctionne.



    AFNetworkActivityIndicatorManager.sharedManager.enabled = YES;
    AFNetworkActivityIndicatorManager.sharedManager.isNetworkActivityIndicatorVisible = YES;
  • muqaddarmuqaddar Administrateur

    isNetworkActivityIndicatorVisible n'est que readonly.


  • ah pas vu :).


  • xylowebxyloweb Membre
    novembre 2014 modifié #11

    ben si tu set le getter bien sur ça peut pas marcher


    il faut renseigner la property via le setter  like this



    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

  • muqaddarmuqaddar Administrateur


     


    ben si tu set le getter bien sur ça peut pas marcher


    il faut renseigner la property via le setter  like this



    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;



     


    On parlait de l'API de AFNetworking nous, pas celle d'Apple hein...

  • De mémoire tu avais accès à  l'operation queue avec AF. Tu as regardé s'il ne reste pas un truc bizarre dedans ?


  • muqaddarmuqaddar Administrateur


    De mémoire tu avais accès à  l'operation queue avec AF. Tu as regardé s'il ne reste pas un truc bizarre dedans ?




     


    J'ai regardé, et oui, la "décrémentation" du compteur des activités réseau n'est pas bonne.


     


     





     


     


    Ah oui, ça ressemble vraiment à  ça.

  • muqaddarmuqaddar Administrateur

    Je confirme, je viens d'upgrader sur la dernière version mise à  jour par matt (10 jours), et je n'ai plus le problème.


    Merci à  tous !


Connectez-vous ou Inscrivez-vous pour répondre.