Expo eas-cli构建iOS应用时报Fastlane未知错误问题求助
问题排查及解决方案
首先明确:错误1属于非阻断性警告,真正导致构建失败的是错误2的bitcode版本不匹配问题。
错误1(未知UUID报错)修复方案
该报错是Xcode项目pbxproj文件合并冲突导致的无效UUID引用,你在本地代码中搜索不到对应UUID,是因为该UUID是Expo云构建环境生成的临时项目资源阶段ID,不会暴露在本地托管的原生代码中。
修复步骤:
- 清空Expo本地缓存:执行
npx expo start --clear - 如果你是Expo托管项目,直接删除本地根目录下的
ios预生成文件夹,后续构建会自动重新生成正确配置 - 删除
node_modules文件夹和package-lock.json/yarn.lock依赖锁文件,重新执行npm install或yarn install安装依赖 - 执行
npx pod-install重新安装iOS侧依赖包
错误2(bitcode版本不匹配)修复方案
该报错是构建失败的核心原因:你本地使用Xcode 12.5.1编译依赖生成的bitcode版本,高于Expo云构建默认使用的Xcode 12.0的bitcode读取版本,导致链接失败。
修复步骤:
- 优先推荐关闭bitcode校验:在项目
app.json的ios配置块中添加"bitcode": false即可,绝大多数iOS应用不需要强制开启bitcode,关闭后不会影响上架。 - 如果需要保留bitcode,可在
eas.json中指定EAS云构建使用的Xcode版本和本地一致,示例配置如下:
{ "build": { "production": { "ios": { "image": "macos-big-sur-11.4-xcode-12.5" } } } }
- 附带消除boost版本警告:在
app.json的ios配置块中添加"minimumVersion": "9.0",将iOS最低支持版本设置为9.0即可。
所有配置修改完成后,重新执行eas build --platform ios即可正常构建。
内容的提问来源于stack exchange,提问作者Pippin
相关产品推荐
相关产品推荐

