0

我已经看到了一些不同的崩溃报告,它们似乎都是在 Core Text 计算某些文本的大小以响应对[UIView sizeThatFits]. 我怀疑崩溃有一些共同的原因,但我只有一些堆栈跟踪,而且我不知道如何自己重现任何问题,所以我只能猜测可能引发崩溃的问题类型。

在一种情况下,崩溃发生在一个ABPeoplePickerNavigationController并且堆栈上的代码完全是 Apple 代码。我已经审核了我的代码,以确保 UIKit/Core Text 仅在主线程中使用。

我在buzztouch论坛上看到了这个诱人的堆栈跟踪,它看起来非常相似,并且还共享“联系人”触发器。

frame #0: 0x007fe283 CoreText`TComponentFont::GetMinSideBearing(CGAffineTransform const&, bool) const + 43 
frame #1: 0x0076b244 CoreText`TRun::GetLeftHangersGlyphCountAndWidth(long, unsigned long, TCharStream const&) const + 524 
frame #2: 0x0077e7da CoreText`TLine::GetLeftHangersGlyphCountAndWidth(unsigned long const*) const + 234 
frame #3: 0x0077e4b9 CoreText`TLine::GetBounds(unsigned long) const + 811 
frame #4: 0x0077ace6 CoreText`CTLineGetBoundsWithOptions + 44 
frame #5: 0x02059497 UIKit`-[UITableViewIndex _cacheAndMeasureTitles] + 984 
frame #6: 0x02059ace UIKit`-[UITableViewIndex sizeThatFits:] + 131

在论坛上,一个名叫 Ofer 的人发帖说崩溃已经修复。我希望 Ofer 能善意地分享一些关于他们发现他们正在做什么来触发崩溃的细节!

4

1 回答 1

0

就我而言,问题似乎源于我使用FontAwesomeKit库加载图标的方式,如他的“已知问题”中所述。我很幸运地让我的应用程序进入了可以定期重现问题的状态,并且应用建议的解决方法使问题消失了(当然,据我所知,它可能只是隐藏了)。

于 2014-06-23T18:49:58.433 回答