iphone - MKReverseGeocoder 导致 EXC_BAD_ACCESS?

标签 iphone ios4 exc-bad-access mkreversegeocoder

我有一个应用程序出现间歇性崩溃。崩溃日志显示了一个堆栈跟踪,这对我来说很难破译,因此希望其他人看到了这一点并能为我指出正确的方向。

基本上,应用程序在启动时执行反向地理编码请求,以在标签中显示用户的位置。此外,我还对特定 API 调用执行另一个反向地理编码请求。

发生的情况是,有时这个 MKReverseGeocoder 需要很长时间才能返回。最终我假设我会收到失败回调,有时确实如此,但可能需要几分钟才能发生这种情况。

由于 API 调用还发出另一个 MKReverseGeocoder 请求,我认为多个并发调用可能存在问题?

这是我的堆栈跟踪:

Program received signal:  “EXC_BAD_ACCESS”.
(gdb) backtrace
#0  0x30c237a0 in -[MKPlacemark _mapkit_cache_heapTime] ()
#1  0x30bffe60 in compareTimes ()
#2  0x32403b24 in CFBinaryHeapAddValue ()
#3  0x30c0030c in -[MKCache setObject:forKey:] ()
#4  0x30c2aa48 in -[MKReverseGeocodeCache addPlacemark:forCoordinate:] ()
#5  0x30c2251c in -[MKReverseGeocoder requester:didReceiveResponse:forRequest:] ()
#6  0x3388cc1c in -[PBRequester _tryParseData] ()
#7  0x3388b288 in -[PBRequester connection:didReceiveData:] ()
#8  0x337490ce in -[NSURLConnection(NSURLConnectionReallyInternal) sendDidReceiveData:originalLength:] ()
#9  0x33748ff0 in _NSURLConnectionDidReceiveData ()
#10 0x30899ff8 in URLConnectionClient::_clientDidReceiveData ()
#11 0x3088ca3e in URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload ()
#12 0x3088cb40 in URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload ()
#13 0x3088cb40 in URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload ()
#14 0x3088c8ce in URLConnectionClient::processEvents ()
#15 0x3088c878 in URLConnection::multiplexerClientPerform ()
#16 0x3088c7f8 in MultiplexerSource::perform ()
#17 0x3088c798 in MultiplexerSource::_perform ()
#18 0x323f4f48 in CFRunLoopRunSpecific ()
#19 0x323f4c1e in CFRunLoopRunInMode ()
#20 0x335051c8 in GSEventRunModal ()
#21 0x324a6c30 in -[UIApplication _run] ()
#22 0x324a5230 in UIApplicationMain ()
#23 0x000024f8 in main (argc=1, argv=0x2ffff504) at /Users/ben/projects/ABC/iphone/ABC/main.m:14

因为它看起来甚至没有调用我的回调方法,所以我不知道在哪里寻找这个 EXC_BAD_ACCESS 问题。我的委托(delegate)当然仍然处于事件状态(我盯着发起请求的 View Controller )。

1 最后说明:到目前为止它只出现在 iOS 3.1.3 上。我还没有看到 iOS 4.0 发生这种情况。u

最佳答案

尝试使用 xcode 配置文件中的 Zombies 工具。这将帮助您找到导致 EXC_BAD_ACCESS 的对象内存。

关于iphone - MKReverseGeocoder 导致 EXC_BAD_ACCESS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3754997/

相关文章:

iphone - 让 iPad 应用程序成为通用应用程序

iphone - 如何启动有关设备类型的特定 View

ios - 选择特定月份和年份的数据 sqlite xcode

iphone - iOS 和解压 xib 文件

ios - 允许用户将文档从iOS Mail App保存到我的应用程序

iphone - Cylinder(定制设计)在 iOS 中的实现

iOS- UITapGestureRecognizer 提供 EXC_BAD_ACCESS

ios - 在 iOS13 中重新分配 AVAudioPlayer 实例会导致 BAD_ACCESS 运行时错误

iphone - IOS在keychain中存储多个密码

objective-c - 'EXC_BAD_ACCESS' 尝试访问变量时?