gpt4 book ai didi

redirect - NSURLConnection 导致错误的访问崩溃

转载 作者:行者123 更新时间:2023-12-03 15:29:11 33 4
gpt4 key购买 nike

在过去的 48 小时里,我一直在与此作斗争,并且毫无用处地搜索了所有论坛。
我正在使用 NSURLConnection异步下载一系列网络文件。下载几个文件后随机崩溃,数量不固定。

请参阅下面的调用堆栈:

#0 0x35b634f4 in objc_msgSend
#1 0x3527c2ca in CFEqual
#2 0x3532e750 in __CFBasicHashStandardEquateKeys
#3 0x35330514 in ___CFBasicHashFindBucket_Linear
#4 0x3527c07c in CFBasicHashFindBucket
#5 0x3527bf5c in CFDictionaryGetValue
#6 0x31d15cb4 in HTTPMessage::copyConstantHeaderFieldValue
#7 0x31d6526c in URLRequest::copyConstantHeaderFieldValue
#8 0x31d606f8 in HTTPProtocol::getCacheStoragePolicy
#9 0x31d62cd0 in HTTPProtocol::updateForHeader
#10 0x31d64524 in HTTPProtocol::performHeaderRead
#11 0x31d64bf8 in HTTPProtocol::httpReadStreamEvent
#12 0x352c4302 in _signalEventSync
#13 0x352c427c in _cfstream_shared_signalEventSync
#14 0x352ed294 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
#15 0x352ef0e2 in __CFRunLoopDoSources0
#16 0x352f0058 in __CFRunLoopRun
#17 0x352970c2 in CFRunLoopRunSpecific
#18 0x35296fd0 in CFRunLoopRunInMode
#19 0x30a1f31c in +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:]
#20 0x309ef618 in -[NSThread main]
#21 0x30a75146 in __NSThread__main__

在 stackoverflow 上看到之前的线程后,发送重定向请求确实存在问题。建议的解决方案是实现
- (NSURLRequest *)connection:(NSURLConnection *)connection 
willSendRequest:(NSURLRequest *)request
redirectResponse:(NSURLResponse *) redirectResponse
{
return request;
}

我这样做了,但崩溃仍然存在。
崩溃前的行为也是 willSendRequest被调用了两次,并且没有为此请求调用其他委托(delegate)方法。它在 NSURLResponse 内部崩溃.

最佳答案

这可能会有所帮助:
Asynchronous NSURLConnection Throws EXC_BAD_ACCESS

例如:

我已经解决了 NSZombieEnabled 标志的问题。我的问题是提供 NSURL 是自动释放对象。因此 URL 对象在某个特定时间被释放,并且在内部 API 代码中对其进行访问失败。

关于redirect - NSURLConnection 导致错误的访问崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3111051/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com