2012-09-22 41 views
65

因为我Xcode更新至4.5版,并开始建设用于iOS 6的日志信息像这样不断出现:日志消息我没有在Xcode 4.5要求与iOS 6.0

ADDRESPONSE - ADDING TO MEMORY ONLY 

我从来没有要求为(至少不自觉)。

我需要做些什么来阻止这些消息?他们的起源是什么?

+0

FWIW我看到同样的事情。 – bdesham

+2

这是新东西。在我的代码中,它似乎涉及请求缓存和UIWebView。 'ADDRESPONSE - 仅添加到内存:http:// domain.com /'。我正在使用'[NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:30];' – Gustav

+1

我也可以报告,这种情况不时发生,当使用像[NSData dataWithContentsOfURL:... –

回答

68

我遇到了同样的问题,消息从CFNetwork框架发出,这发生在设备和iOS模拟器上。具体运行上CFNetwork的字符串显示:

ADDRESPONSE - 不添加到磁盘或内存:%@ ADDRESPONSE - 增加内存ONLY:%@

我的猜测是它是由CFCachedURLResponse法颁布。

更新 - 进一步调查我的问题是由以下因素导致:

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

凡memoryCapacity == 0,将其设置为10MB像一些现实价值被发出停止的消息,似乎检索对象从缓存中,如我所料。

根据您的观点,不幸或取决于您的观点NSURLRequest等行为在iOS 5中发生了变化。现在,NSURLRequestCachePolicy已付诸实施,这意味着您需要检查您的应用正在运行的iOS版本,并相应地调整缓存行为。

+3

一个很好的答案...我已经upvoted它...有帮助...但是,在我的情况下,即使我在我的URL请求上使用NSURLCacheStorageAllowedInMemoryOnly,我收到此消息。呃,所以我想要这种行为,为什么应该有一个日志消息证实它? (修辞) –

+0

在我的情况下,我从不改变任何缓存参数,只使用默认的NSURLRequestUseProtocolCachePolicy。我仍然会为每个HTTP请求获取相同的日志消息。 – fishinear

+0

我建议,如果你检测到你在iOS6上运行,你首次使用URL加载系统之前明确地设置了内存和磁盘缓存参数。这样你就知道你的应用程序正在使用/请求了哪些资源。 –

0

我和你一样有同样的问题。我不知道,但我确实通过使用viewDidLoad方法中的以下形成来修复它。

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

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

这对我很好,希望这也适合你。