使用expo build:ios构建iOS应用时png文件length属性未定义报错
解决Expo构建iOS时PNG文件报"Cannot read properties of undefined (reading 'length')"的问题
针对开发模式正常但expo build:ios时报src/assets/Registrered/ligne.png: Cannot read properties of undefined (reading 'length')的错误,可按以下步骤排查解决:
检查文件路径与命名
先确认Registrered文件夹名是否拼写错误(比如是否应为Registered),开发环境可能对路径拼写有一定容错,但构建过程的文件校验更严格。同时确保ligne.png确实存在于该路径下,没有被误删或移动。验证图片文件有效性
用系统自带图片查看器或专业工具打开ligne.png,确认文件未损坏、是标准PNG格式。如果文件异常,重新导出或替换为正常的PNG文件。清除缓存
- 执行
expo r -c清除Metro缓存 - 删除项目根目录下的
.expo文件夹 - 重新运行
expo build:ios
- 执行
检查代码中的图片引用
确认代码里导入该图片的语句没有拼写错误,示例:// CommonJS导入方式 const ligneImg = require('../assets/Registrered/ligne.png'); // 或ES模块导入方式 import ligneImg from '../assets/Registrered/ligne.png';同时检查组件中使用图片的逻辑,有没有误对图片对象访问
length属性的错误代码。调整Expo SDK版本
若上述步骤无效,检查当前Expo SDK版本是否存在PNG解析相关的已知bug,尝试运行expo upgrade升级到最新稳定版,或降级到之前验证过的稳定版本后再构建。
内容的提问来源于stack exchange,提问作者Camille SAURY
相关产品推荐
相关产品推荐

