升级macOS 15 Beta后Flutter构建iOS遇CocoaPods解析错误
macOS 15 Beta + Xcode 16 Beta下Flutter iOS构建失败:CocoaPods REXML::ParseException 解决方法
问题概述
升级至macOS 15 Beta并使用Xcode 16 Beta构建Flutter iOS项目时,触发CocoaPods的REXML::ParseException错误(错误提示:wrong argument type String (expected Regexp)),同时伴随pod install执行失败、iPhone 15模拟器无法启动应用的问题,进程最终以代码1退出。
解决方案
以下步骤按优先级排序,逐步执行:
1. 升级CocoaPods到预发布版本
旧版CocoaPods(如1.15.2)对macOS 15/Xcode 16 Beta的兼容性不足,升级到预发布版本可修复大部分适配问题:
sudo gem install cocoapods --pre
2. 升级xcodeproj依赖库
xcodeproj是CocoaPods处理Xcode项目的核心库,旧版本无法正确解析Xcode 16生成的workspace文件:
sudo gem install xcodeproj --pre
3. 降级REXML版本至3.2.8
REXML 3.2.9存在正则表达式类型匹配错误,降级到3.2.8可直接解决REXML::ParseException:
sudo gem uninstall rexml -v 3.2.9 && sudo gem install rexml -v 3.2.8
4. 清理项目缓存并重新执行pod install
清理旧的构建缓存和生成文件,确保重新生成的内容适配新环境:
# 进入项目的iOS目录 cd ios # 移除现有CocoaPods集成 pod deintegrate # 删除旧的Pod依赖文件 rm -rf Podfile.lock Pods # 删除Flutter生成的配置文件 rm -rf Flutter/Generated.xcconfig # 返回项目根目录更新依赖 cd .. flutter pub get # 重新执行pod安装 cd ios pod install
5. 确认Xcode命令行工具版本
确保系统使用的是Xcode Beta的命令行工具,避免版本不匹配:
sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
备选方案
如果上述步骤无效,可尝试使用Ruby版本管理器(如rbenv)安装Ruby 3.0及以上版本,替换系统自带的Ruby 2.6,新版本Ruby对新系统的兼容性更好。
内容的提问来源于stack exchange,提问作者Aman Rawat
相关产品推荐
相关产品推荐

