diff --git a/ios/flutter_pdfview/Sources/flutter_pdfview/FlutterPDFView.m b/ios/flutter_pdfview/Sources/flutter_pdfview/FlutterPDFView.m index 3f393ae0..5f7b1e16 100644 --- a/ios/flutter_pdfview/Sources/flutter_pdfview/FlutterPDFView.m +++ b/ios/flutter_pdfview/Sources/flutter_pdfview/FlutterPDFView.m @@ -42,7 +42,11 @@ - (instancetype)initWithFrame:(CGRect)frame arguments:(id _Nullable)args binaryMessenger:(NSObject*)messenger { self = [super init]; - _pdfView = [[FLTPDFView new] initWithFrame:frame arguments:args controller:self]; + if (!self) return nil; + + // NOTE: `new` already calls `init`. Re-initializing a UIView can crash on newer UIKit + // during trait collection initialization. Use alloc/init instead. + _pdfView = [[FLTPDFView alloc] initWithFrame:frame arguments:args controller:self]; _viewId = viewId; @try {