React Native:TestFlight中RNSketchCanvas背景图片无法显示问题
问题根因
该问题和PNG格式无关,核心错误是你配置的filename使用了开发设备本地的绝对路径:
- 该路径仅存在于你开发用的Mac设备上,模拟器运行时可以直接访问Mac本地文件,因此显示正常
- 打包上传至TestFlight后,应用安装在手机上,完全不存在你Mac上的
/Users/username/Desktop/ProjectName/iOS/image.png路径,因此图片加载失败
正确修复步骤
- 第一步:将图片放入iOS应用的main bundle中,二选一即可:
- 直接把
image.png拖入Xcode项目目录,勾选「Copy items if needed」,同时勾选你的应用target对应的「Target Membership」 - 更推荐的方案是将图片添加到
Images.xcassets中,适配不同分辨率设备更便捷
- 直接把
- 第二步:修改代码中的路径配置,无需填写完整绝对路径,仅需填写图片文件名即可:
localSourceImage={{ filename: 'image.png', mode: 'AspectFit', directory: 'SketchCanvas.MAIN_BUNDLE', }}
如果你选择将图片放入Images.xcassets,filename直接写你在xcassets中给图片设置的名称即可,不需要加.png后缀
- 第三步:本地打Release包安装测试,确认图片显示正常后再上传TestFlight即可。
内容的提问来源于stack exchange,提问作者Alexander
相关产品推荐
相关产品推荐

