执行expo prebuild -p ios --clean时Config sync failed错误求助
解决Expo Prebuild iOS时的Config sync failed错误
错误根源
你的app.config.js中iOS图标配置格式不符合Expo规范:ios.icon被定义为包含子属性的对象,但Expo期望这里是字符串格式的图标文件路径,或是用于自定义多尺寸的数组格式。这种格式错误导致Expo图片处理模块尝试对对象调用startsWith方法,触发TypeError。
修复步骤
修正iOS图标配置
将ios.icon的对象格式改为字符串路径,Expo会自动基于这个主图标生成所有iOS所需的不同尺寸图标。修正后的iOS配置如下:ios: { supportsTablet: true, bundleIdentifier: "MY-DOMAIN", icon: "./assets/images/logo.png" // 改为字符串路径 },(可选)自定义多尺寸图标
如果需要手动指定不同尺寸的iOS图标,使用数组格式(每个元素为包含size和path的对象),示例:ios: { supportsTablet: true, bundleIdentifier: "MY-DOMAIN", icon: [ { size: 120, path: "./assets/images/logo-120.png" }, { size: 180, path: "./assets/images/logo-180.png" }, // 按需添加其他尺寸 ] },重新执行预构建
清理缓存后重新运行命令:expo prebuild -p ios --clean
额外验证
- 确认图标文件路径正确,文件存在于指定位置
- 检查Expo CLI版本是否为稳定版(可通过
expo --version查看,建议升级到最新版避免兼容性问题)
内容的提问来源于stack exchange,提问作者Exzone
相关产品推荐
相关产品推荐

