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

iOS端React Native本地PDF加载失败问题求助

解决react-native-pdf加载本地PDF的iOS类型错误问题

错误原因

你通过require获取本地PDF文件后得到的是数字类型的资源ID,但你将其放在了source对象的uri字段中。而react-native-pdf的source属性此时仅接受string或number类型的值,或者符合特定格式的对象(针对本地bundle资源),你的写法不符合要求,因此触发了类型校验错误。

解决方法

方法一:直接传入资源ID(最简单)

直接将require返回的资源ID作为source的值,不需要包装成对象:

const pdfSource = require('../../html/html/pdf/VIVJOA-Full-Prescribing-Information.pdf');

<Pdf
    trustAllCerts={false}
    source={pdfSource}
    style={styles.pdf}  
/>

方法二:使用bundle资源对象(需配置cache时用)

如果需要启用缓存等配置,针对iOS本地bundle资源,要使用bundleResourceName字段而非uri,同时确保PDF文件已正确打包到iOS项目的bundle中(Xcode中需确认文件已添加到项目并勾选目标成员资格):

const source = {
  bundleResourceName: 'VIVJOA-Full-Prescribing-Information.pdf',
  cache: true,
};

<Pdf
    trustAllCerts={false}
    source={source}
    style={styles.pdf}  
/>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 00:50:30