iOS 12.x 디바이스에서 발생하는 크래쉬입니다.
UILabel 의 lineBreakStrategy 프로퍼티에 .pushOut 을 설정하면 크래쉬가 발생합니다.
extension NSParagraphStyle {
public struct LineBreakStrategy : OptionSet {
public init(rawValue: UInt)
@available(iOS 9.0, *)
public static var pushOut: NSParagraphStyle.LineBreakStrategy { get }
@available(iOS 14.0, *)
public static var hangulWordPriority: NSParagraphStyle.LineBreakStrategy { get }
@available(iOS 14.0, *)
public static var standard: NSParagraphStyle.LineBreakStrategy { get }
}
}
내부에 iOS 9.0+ 라고 적혀있어서 사용했는데, 실제 프로덕트에 나가고 나니 iOS 12.x 디바이스에서 크래쉬가 리포트되었습니다.
(iOS 13.x 디바이스에서 테스트했을 때에는 크래쉬가 발생하지 않았습니다.)
대안으로 lineBreakMode 의 .byCharWrapping 으로 대체하였습니다.
label.lineBreakMode = .byCharWrapping
'iOS' 카테고리의 다른 글
UIImage(contentsOfFile:), UIImage(named:) 차이 (0) | 2021.05.06 |
---|---|
[iOS] NSTaggedPointerString Crash (0) | 2020.07.02 |