web-dev-qa-db-fra.com

Messages de journal que je n'ai pas demandés dans Xcode 4.5 avec iOS 6.0

depuis que j'ai mis à jour Xcode vers la version 4.5 et commencé à générer des messages de journal pour iOS 6 comme celui-ci, ils apparaissent toujours:

ADDRESPONSE - ADDING TO MEMORY ONLY

Je n'ai jamais demandé ça (du moins pas consciemment).

Que dois-je faire pour arrêter ces messages? Et quelle est leur origine?

65
Jörg Kirchhof

Je rencontre le même problème, le message est émis à partir du framework CFNetwork, cela se produit à la fois sur l'appareil et dans le simulateur iOS. Exécuter spécifiquement des chaînes sur CFNetwork montre:

ADDRESPONSE - ne pas ajouter AU DISQUE OR MÉMOIRE:% @ ADDRESPONSE - AJOUTER À LA MÉMOIRE UNIQUEMENT:% @

Je suppose qu'il est émis par la méthode CFCachedURLResponse.

Une mise à jour - avec une enquête plus approfondie, mon problème est dû aux éléments suivants:

NSURLCache *cache = [[NSURLCache alloc] initWithMemoryCapacity: memoryCapacity diskCapacity: discCapacity diskPath:[SDURLCache defaultCachePath]];
[NSURCache setSharedCache:cache];

Où memoryCapacity == 0. La définition de cette valeur réaliste comme 10 Mo a arrêté l'émission des messages et a semblé récupérer des objets du cache comme je m'y attendais.

Malheureusement ou autrement, selon votre point de vue, le comportement de NSURLRequest, etc. a changé avec iOS 5. NSURLRequestCachePolicy est maintenant appliqué, ce qui signifie que vous devrez vérifier sur quelle version iOS votre application s'exécute et ajuster votre comportement de mise en cache en conséquence.

68
Shane MacPhillamy

J'ai le même problème que vous. Je ne sais pas mais je l'ai corrigé en utilisant la formation suivante dans la méthode viewDidLoad.

-(void) viewDidLoad
{
  // First write my code of UI Creation.
  // Then I call 

  [super viewDidLoad]; //add [super viewDidLoad] AFTER implementation, not before.
}

Cela fonctionne bien pour moi, j'espère que cela fonctionne également pour vous.

0
iPatel