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

React Native iOS Release构建后图片丢失问题求助

iOS Release模式下React Native图片不显示的解决方案

我之前也碰到过一模一样的问题!结合自己踩过的坑,给你几个大概率能解决的方向:

  • 检查资源输出路径与Xcode配置
    你用了--assets-dest='./ios',打包后会在./ios下生成assets文件夹,但需要确保这个文件夹被正确添加到你的Xcode项目(也就是billhunters target)里。操作步骤:

    1. 打开Xcode,把./ios/assets文件夹拖到项目导航栏中
    2. 弹出的窗口里勾选「Copy items if needed」,并确保选中了你的billhunters target
    3. 去Build Phases -> Copy Bundle Resources里确认assets文件夹(或里面的图片)已经被包含
  • 排查大小写与路径问题
    iOS真机的文件系统是区分大小写的!Debug模式下可能会忽略这个问题,但Release模式里如果你的代码里写的是require('./assets/img/logo.png'),但实际文件名是Logo.png或者路径多了/少了层级,就会加载失败。仔细核对文件名和引用路径的大小写、层级是否完全一致。

  • 清理缓存并重新打包
    先删除旧的打包产物:

    rm -f ./ios/billhunters/main.jsbundle
    rm -rf ./ios/assets
    

    然后加上--reset-cache参数重新打包:

    react-native bundle --entry-file='index.js' --bundle-output='./ios/billhunters/main.jsbundle' --dev=false --platform='ios' --assets-dest='./ios' --reset-cache
    

    同时清理Xcode的Derived Data(Xcode -> Settings -> Locations -> Derived Data -> 点击箭头打开文件夹后删除对应项目的文件夹),再重新编译Release版本。

  • 验证打包产物是否包含图片
    打包完成后,打开./ios/assets文件夹,看看里面有没有img/logo.png,如果没有的话,说明打包命令没有正确把图片拷贝过来,可能需要检查你的图片引用路径是否在项目中存在,或者有没有拼写错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 10:05:53