Expo预构建后npm run ios报错:xcodebuild退出码65
解决expo-modules-core Swift语法编译错误(xcodebuild错误码65)
问题根源
Xcode 13.0对高版本Swift语法支持不足,加上M1芯片的架构适配问题,导致expo-modules-core的Swift代码编译失败。以下是针对性解决步骤:
1. 升级Xcode版本
Xcode 13.0对Swift 5.5+的语法兼容性较差,建议升级到Xcode 13.4.1及以上版本(该版本完美适配M1芯片,且对新Swift语法支持更完善)。升级后重启Xcode和终端,重新执行编译流程。
2. 调整Xcode项目配置
打开项目的ios/appName.xcworkspace(替换为你的实际项目名),修改以下Build Settings:
- 找到
Swift Language Version,设置为Swift 5.5或更高版本 - 找到
Architectures,设置为$(ARCHS_STANDARD),同时将Build Active Architecture Only在Debug模式下设为Yes - 清理Xcode缓存:按下
Cmd+Shift+K清理构建产物,再按Cmd+Shift+Option+K清理Derived Data
3. 更新依赖版本
当前expo-cli与react-native版本组合存在依赖不匹配,执行以下命令更新:
npm install expo-modules-core@latest --save expo upgrade
完成后重新执行expo prebuild和npm run ios
4. M1芯片终端适配
右键点击终端图标,选择「使用Rosetta打开」,再重新执行编译命令,规避架构不兼容问题
5. 清理缓存并重装依赖
rm -rf node_modules package-lock.json npm cache clean --force npm install expo prebuild --clean npm run ios
内容的提问来源于stack exchange,提问作者cbdev
相关产品推荐
相关产品推荐

