React Native iOS Release真机运行崩溃 报Image not found错误
问题定位
这个报错和图片资源没有任何关系,报错信息里的Image指的是系统动态加载器(dyld)要加载的二进制库镜像,不是UI图片资源。崩溃本质是Release模式下App启动时找不到Hermes JS引擎的动态框架,Debug模式因为构建配置差异不会触发这个问题。
修复步骤
按顺序操作即可解决:
- 先进入项目iOS目录,重新同步CocoaPods依赖,避免配置不一致:
cd ios pod deintegrate pod install --repo-update
- 用Xcode打开
ios/[你的项目名].xcworkspace(注意不要打开.xcodeproj后缀的文件),选中左侧导航栏最上方的项目入口,在Target列表选中你自己的App主Target - 切换到General标签页,下拉找到
Frameworks, Libraries, and Embedded Content板块 - 在列表中找到
hermes.framework,将它右侧的嵌入规则从默认的Do Not Embed修改为Embed & Sign
如果列表里找不到这个框架,点击板块下方的+号,在弹出的资源选择窗口搜索hermes,选中匹配的framework添加后再设置嵌入规则 - 切换到Build Settings标签页,搜索
Runpath Search Paths配置项,确认Release模式下的路径列表包含以下两个值,不存在就手动加上:$(inherited)@executable_path/Frameworks
- 清理Xcode构建缓存:按下快捷键
Cmd + Shift + K清空旧构建产物,同时删掉真机上之前安装的旧版本App,重新选择Release配置构建安装即可正常启动。
注意事项
所有配置修改只操作你自己的App主Target,不要改动CocoaPods自动生成的Pods相关Target的配置,否则后续执行pod install时配置会被覆盖失效。
内容的提问来源于stack exchange,提问作者MidnightChoco
相关产品推荐
相关产品推荐

