我们的应用仅在iOS11中发现基金会崩溃。怎么解决?
Fatal Exception: NSRangeException
NSMutableRLEArray replaceObjectsInRange:withObject:length:: Out of bounds
0 CoreFoundation 0x184f8bd38 __exceptionPreprocess
1 libobjc.A.dylib 0x1844a0528 objc_exception_throw
2 CoreFoundation 0x184f8bc80 -[NSException initWithCoder:]
3 Foundation 0x18587c168 -[NSMutableRLEArray replaceObjectsInRange:withObject:length:]
4 Foundation 0x18588262c -[NSConcreteMutableAttributedString replaceCharactersInRange:withAttributedString:]
5 CoreFoundation 0x184e65bec -[__NSArrayM enumerateObjectsWithOptions:usingBlock:]
6 UIKit 0x18ec677b8 -[UILayoutManagerBasedDraggableGeometry draggableObjectsForTextRange:]
答案 0 :(得分:0)
使用UITextInput
的方法时遇到了同样的问题replaceRange:(UITextRange *)range withText:(NSString *)text;
我无法找到最佳解决方案,但我通过避免使用特殊字符来修复崩溃
ps:此问题仅发生在iOS 11
中答案 1 :(得分:0)
我可以通过一个示例应用程序在iOS 13.0 beta 4中重现它,该示例应用程序显示一个UITextView以及带有链接的特殊属性字符串。点按或拖动链接时会崩溃。
NSMutableAttributedString *aString = [[NSMutableAttributedString alloc] initWithString:@""];
NSTextAttachment *attachment = [[NSTextAttachment alloc] init];
attachment.image = [[UIImage imageNamed:@"weblink"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
attachment.bounds = CGRectMake(0, 0, 15, 15);
[aString appendAttributedString:[NSAttributedString attributedStringWithAttachment:attachment]];
[aString appendAttributedString:[[NSAttributedString alloc] initWithString:@" More Information"]];
[aString addAttribute:NSLinkAttributeName value:[NSURL URLWithString:@"https://www.apple.com"] range:NSMakeRange(0, aString.length)];
self.textView.attributedText = aString;
在Feedback Assistant上归档为FB6738178。