Я видел несколько разных отчетов о сбоях, которые появляются, поскольку все они запускаются, когда Core Text вычисляет размер некоторого текста в ответ на вызов [UIView sizeThatFits]
. Я подозреваю, что сбой имеет общую причину, но у меня есть только несколько следов стека, и я не знаю, как воспроизвести какие-либо проблемы самостоятельно, поэтому я догадываюсь, какие проблемы могут вызвать сбой.Какие проблемы вызывают сбои Core Text при вызовах `sizeThatFits`?
В одном случае авария происходит в ABPeoplePickerNavigationController
, а код в стеке - полностью код Apple. Я проверил свой код, чтобы убедиться, что UIKit/Core Text используются только из основного потока.
Я увидел это tantalizing stack trace, размещенное на форуме 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
На форуме кто-то по имени Офер оставил сообщение о том, что авария была исправлена. Я надеюсь, что Офер может быть достаточно любезен, чтобы поделиться некоторыми подробностями о том, что они обнаружили, что они делали, чтобы вызвать крах!