2012-09-22 2 views
65

da ich Xcode auf Version 4.5 aktualisiert und begann mit dem Bau für iOS 6 Log-Meldungen wie diese erscheinen halten:Protokollmeldungen ich nicht mit iOS in Xcode 4.5 hat gefragt 6.0

ADDRESPONSE - ADDING TO MEMORY ONLY 

ich nie danach gefragt (zumindest nicht bewusst).

Was muss ich tun, um diese Nachrichten zu stoppen? Und was ist ihre Herkunft?

+0

FWIW Ich sehe das gleiche. – bdesham

+2

Das ist etwas Neues. In meinem Code scheint es Request-Caching und ein UIWebView zu geben. 'ADDRESPONSE - NUR ZU SPEICHER HINZUFÜGEN: http: // domain.com /'. Ich verwende '[NSURLRequest requestWithURL: URL cachePolicy: NSURLRequestReloadIgnoringLocalCacheData timeoutInterval: 30];' – Gustav

+1

Ich kann auch berichten, dass dies von Zeit zu Zeit passiert, wenn Methoden wie [NSData dataWithContentsOfURL: ... –

Antwort

68

Ich habe das gleiche Problem, die Nachricht wird aus dem CFNetwork-Framework ausgegeben, dies geschieht sowohl auf dem Gerät und im iOS-Simulator. Im einzelnen Strings auf CFNetwork läuft zeigt:

addResponse - nicht auf Festplatte hinzufügen oder SPEICHER:% @ addResponse - SPEICHER ADDING NUR:% @

Meine Vermutung ist, es durch CFCachedURLResponse Methode ausgegeben wird.

Ein Update - mit weiteren Untersuchung mein Problem durch die verursacht wird, folgende:

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

Wo memoryCapacity == 0. dies wie 10MB bis zu einem gewissen realistischen Wert Einstellung aus der Nachrichten gestoppt veröffentlicht und erschien Objekte abzurufen aus dem Cache, wie ich es erwarten würde.

Leider oder anders hängt das Verhalten von NSURLRequest usw. mit iOS 5 geändert ab. NSURLRequestCachePolicy wird jetzt ausgeführt, was bedeutet, dass Sie überprüfen müssen, auf welcher iOS-Version Ihre App läuft und Ihr Caching-Verhalten entsprechend anpassen.

+3

eine gute Antwort ... ich habe Upvoted es ... hilfreich ... aber in meinem Fall bekomme ich diese Nachricht, obwohl ich NSURLCacheStorageAllowedInMemoryOnly auf meine URL-Anfrage verwende. uh, also möchte ich dieses Verhalten, warum sollte es eine Log-Nachricht geben, die es bestätigt ...? (rhetorisch) –

+0

In meinem Fall ändere ich nie einen der Caching-Parameter und verwende nur die Standard-NSURLRequestUseProtocolCachePolicy. Ich bekomme immer noch die gleiche Log-Nachricht für jede HTTP-Anfrage. – fishinear

+0

Ich würde vorschlagen, wenn Sie erkennen, dass Sie auf iOS6 laufen, legen Sie explizit die Speicher- und Festplatten-Cache-Parameter vor der ersten Verwendung des URL-Ladesystems fest. Auf diese Weise wissen Sie, welche Ressourcen Ihre Anwendung verwendet/angefordert hat. –

0

Ich habe das gleiche Problem wie Sie. Ich weiß es nicht, aber ich habe es behoben, indem ich folgende Formation in viewDidLoad Methode verwendete.

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

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

Das funktioniert gut für mich, hoffe, das ist auch Arbeit für Sie.