【问题标题】:MapKit MKMapView "funny" blue halo crashMapKit MKMapView “搞笑”的蓝晕崩溃
【发布时间】:2011-04-05 09:11:45
【问题描述】:

出于好奇,有人见过那个吗?

我不认为(也希望)我会复制这个... 所以我并不是真的在寻找解决方法,如果有一天有人遇到这个问题,我会更多地发布这个。

编辑:这与释放MKMApView 的内存问题无关。地图显示出来了,我正在滚动它。 (而且我只在 VC 释放时释放它)

在一些猴子测试期间,我“只是”在 iOS 4.3.1 上的MKMapView 上快速点击了一点... 我在一个有大量 wifi 网络且 GPS 信号不多的区域,我的猜测是 MapView 对所有位置事件以及我触发的所有事件都发疯了。可能还与同时使用MKReverseGeocoder 结合使用。

仅供参考,MKDotBounce 与用户位置蓝点有关...和由 MKUserLocationAccuracyAnimation 引发的崩溃...同时恢复蓝晕...

顺便说一句,我已经多次注意到这个光环很容易卡住(即使在 Apple 地图上) 向 Apple 提交了包含该崩溃报告的错误报告...

#0  0x35d82698 in ___CFBasicHashFindBucket_Linear ()
#1  0x35cd5654 in CFBasicHashFindBucket ()
#2  0x35cd74a0 in CFDictionaryGetValue ()
#3  0x346b961a in -[NSObject(NSKeyValueObservingCustomization) observationInfo] ()
#4  0x346b95da in _NSKeyValueRetainedObservationInfoForObject ()
#5  0x346b94d8 in -[NSObject(NSKeyValueObserverNotification) willChangeValueForKey:] ()
#6  0x356622d2 in CAAnimation_setter ()
#7  0x35662572 in CAAnimation_setter_kCAValueRetainedPointer ()
#8  0x3566258e in -[CAAnimation setDelegate:] ()
#9  0x35420456 in -[MKUserLocationViewInternal(Animations) dotBounceAnimation] ()
#10 0x3541e2ea in -[MKUserLocationViewInternal(Animations) actionForLayer:forKey:] ()
#11 0x35421bd2 in -[MKUserLocationViewInternal orderInLayer:beginTime:] ()
#12 0x3541ee28 in -[MKDotBounceAnimation runActionForKey:object:arguments:] ()
#13 0x35421c16 in -[MKUserLocationViewInternal orderInLayer:beginTime:] ()
#14 0x3541ee28 in -[MKDotBounceAnimation runActionForKey:object:arguments:] ()
#15 0x35421c16 in -[MKUserLocationViewInternal orderInLayer:beginTime:] ()
>>> not a joke, really occured 22k times before EXC_BAD_ACCESS!
>>> smells an endless loop until pool exhaust
#22537 0x35421c16 in -[MKUserLocationViewInternal orderInLayer:beginTime:] ()
#22538 0x3541ee28 in -[MKDotBounceAnimation runActionForKey:object:arguments:] ()
#22539 0x35421c16 in -[MKUserLocationViewInternal orderInLayer:beginTime:] ()
#22540 0x35422134 in -[MKUserLocationViewInternal resumeHalo] ()
#22541 0x35422480 in -[MKUserLocationViewInternal updateHalo] ()
#22542 0x3541ec02 in -[MKUserLocationAccuracyAnimation animationDidStop:finished:] ()
#22543 0x3566771c in run_animation_callbacks ()
#22544 0x35656632 in CA::timer_callback ()
#22545 0x35d46a46 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ ()
#22546 0x35d48eca in __CFRunLoopDoTimer ()
#22547 0x35d49844 in __CFRunLoopRun ()
#22548 0x35cd9ec2 in CFRunLoopRunSpecific ()
#22549 0x35cd9dca in CFRunLoopRunInMode ()
#22550 0x356f941e in GSEventRunModal ()
#22551 0x356f94ca in GSEventRun ()
#22552 0x35940d68 in -[UIApplication _run] ()
#22553 0x3593e806 in UIApplicationMain ()
#22554 0x00003a0a in main

【问题讨论】:

  • 有关信息,关于提交给苹果的错误报告,目前没有回复...

标签: iphone ios crash mkmapview


【解决方案1】:

在取消分配您的 MKMapview 之前尝试此操作

[self.mapView.layer removeAllAnimations];

这是 MKMapView 中的一个众所周知的错误,如果动画回调在它被释放后返回到地图视图,它就会爆炸。我希望 Apple 将您的错误报告标记为重复。

【讨论】:

  • 谢谢,但是...这与释放 MapView 完全无关,并且在 MapView 显示时发生,因此未释放。我正在滚动它。
【解决方案2】:

2 周后,我没有重现该错误。

回答我自己的问题,因为显然没有人看到那个...


编辑:数周后:

Apple 对我的错误报告给出了答复,它应该在 iOS5 中得到修复。无论如何都没有复制,而且,在任何 iOS 版本上。我猜这是极端比赛条件下非常罕见的错误。

这是 Bug ID# 9234544 的后续。

工程部门认为此问题已在 iOS 5.0 beta 1 (9A5220p) 中得到解决。

安装 iOS 5.0 beta 1 软件后,请用您的结果更新此错误报告。

【讨论】:

  • Vincent,您有指向 Apple 对您的错误报告的答复的链接吗?
  • @Tuyen 添加了苹果邮件内容,不再详述。
猜你喜欢
  • 1970-01-01
  • 2021-04-17
  • 2014-11-20
  • 1970-01-01
  • 2019-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多