复现条件:
1.0xa0(即html中的 )与换行符一起
2.alignment = NSTextAlignmentJustified
3.字符串触发换行
NSString *errorEmpty = @"xxxxx \n";
NSMutableParagraphStyle* paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.alignment = NSTextAlignmentJustified;
NSDictionary *dic = @{
NSFontAttributeName: [NSFont systemFontOfSize:26],
NSParagraphStyleAttributeName: paragraphStyle
};
NSAttributedString *stringWithAttributes =[[NSAttributedString alloc] initWithString:errorEmpty attributes:dic];
CGRect rect = [stringWithAttributes boundingRectWithSize:CGSizeMake(50, CGFLOAT_MAX) options:(NSStringDrawingUsesLineFragmentOrigin)];
崩溃堆栈:
Assertion failed: (forceBreakIndex > NSMaxRange(lastResortNode->lineBreak.range)),
function -[_NSOptimalLineBreaker _calculateOptimalWrapping],
file NSOptimalLineBreaker.m, line 1762.
0 ??? 0x7ff8993d69a8 ???
1 libsystem_kernel.dylib 0x7ff8097a31f2 __pthread_kill + 10
2 libsystem_pthread.dylib 0x7ff8097daee6 pthread_kill + 263
3 libsystem_c.dylib 0x7ff809701b45 abort + 123
4 libsystem_c.dylib 0x7ff809700e5e __assert_rtn + 314
5 UIFoundation 0x7ff80d9e6bb3 -[_NSOptimalLineBreaker _calculateOptimalWrapping].cold.5 + 35
6 UIFoundation 0x7ff80d93d98e -[_NSOptimalLineBreaker _calculateOptimalWrapping] + 2994
7 UIFoundation 0x7ff80d99637e -[NSParagraphArbitrator _computeOptimalLayout] + 332
8 UIFoundation 0x7ff80d99617a -[NSParagraphArbitrator _optimalLineBreakContextBeforeIndex:lineFragmentWidth:range:] + 104
9 UIFoundation 0x7ff80d8aabc2 -[NSParagraphArbitrator lineBreakContextBeforeIndex:lineFragmentWidth:range:] + 105
10 UIFoundation 0x7ff80d92407b -[NSCoreTypesetter _createLineRefForParentLineRef:range:availableWidth:offset:paragraphArbitrator:lineBreakMode:hyphenated:forcedClusterBreak:] + 546
11 UIFoundation 0x7ff80d926f43 -[NSCoreTypesetter _stringDrawingCoreTextEngineWithOriginalString:rect:padding:graphicsContext:forceClipping:attributes:stringDrawingOptions:drawingContext:stringDrawingInterface:] + 9145
12 UIFoundation 0x7ff80d87a9ce __NSStringDrawingEngine + 2257
13 UIFoundation 0x7ff80d8cbc03 -[NSString(NSExtendedStringDrawing) boundingRectWithSize:options:attributes:context:] + 159