You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中syncfusion_flutter_pdfviewer在iOS模拟器无显示如何解决?

问题修复方案

按以下步骤逐一排查即可解决空白问题:

  • 调整iOS最低兼容版本
    打开项目ios目录下的Podfile,取消首行platform :ios, 'XX.0'的注释,将版本号改为12.0及以上;同时打开Xcode中的Runner项目配置,将iOS Deployment Target同步修改为12.0。
  • 配置M1模拟器架构兼容
    在Xcode的Runner项目Build Settings中,找到Excluded Architectures配置项,给Debug、Release模式的Any iOS Simulator SDK添加arm64架构;之后在Podfile末尾添加如下配置:
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        flutter_additional_ios_build_settings(target)
        target.build_configurations.each do |config|
          config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
        end
      end
    end
    
    配置完成后在ios目录执行pod deintegrate && pod install,重新运行项目即可。
  • 配置网络白名单
    在ios/Runner/Info.plist的dict标签内添加如下配置,允许网络资源加载:
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    
  • 排查具体错误原因
    给SfPdfViewer.network添加加载失败回调,打印错误信息定位问题:
    SfPdfViewer.network(
      'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
      controller: _pdfViewerController,
      key: _pdfViewerStateKey,
      onDocumentLoadFailed: (PdfDocumentLoadFailedDetails details) {
        print('加载失败错误:${details.error},错误描述:${details.description}');
      },
    )
    
替代PDF预览包推荐
  • pdfx:全平台兼容,性能表现优异,支持网络、本地、assets路径的PDF加载,内置缩放、页码跳转、书签、文本选择等常用功能,对M1芯片iOS模拟器适配完善,是当前使用率较高的PDF预览方案。
  • flutter_pdfview:基于原生PDF能力封装,轻量稳定,API简单易上手,支持本地和网络PDF加载,适合仅需基础预览功能的场景。
  • advance_pdf_viewer:配置成本低,自带页面导航、手势缩放功能,无需额外复杂配置即可快速实现PDF预览,适合对交互要求不高的项目。

内容的提问来源于stack exchange,提问作者Prem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:57:01