Flutter iOS构建失败:Swift版本不兼容及模块编译错误
解决Flutter iOS构建PayU SDK版本不兼容问题
核心原因
所有错误的根源是本地Swift编译器版本(5.5.2)与PayU第三方SDK编译时使用的Swift版本(5.7.x)不匹配,同时_StringProcessing模块是Swift 5.7及以上版本才引入的特性,低版本编译器无法识别。
具体解决步骤
1. 更新Xcode到对应版本
Swift 5.7.x对应Xcode 14.x版本(Xcode 14.0对应Swift 5.7,14.2对应Swift 5.7.2):
- 打开App Store搜索Xcode,更新到14.0及以上版本
- 更新完成后,在Xcode中设置:
Xcode > Settings > Locations > Command Line Tools,选择最新的Xcode版本
2. 清理构建缓存
执行以下命令清理旧编译产物,避免干扰:
# 清理Flutter缓存 flutter clean # 清理Pod缓存 pod cache clean --all # 进入iOS目录重新安装依赖 cd ios pod deintegrate pod install
3. 统一项目Swift版本配置
- 打开iOS项目的
Runner.xcworkspace - 选中
Runner目标,进入Build Settings - 搜索
Swift Language Version,设置为Swift 5.7或更高版本(与当前Xcode版本匹配) - 检查PayU相关依赖目标的Swift版本配置,确保与项目主目标一致
4. 修复CGSize类型错误
若更新后仍存在该错误,在对应文件中添加UIKit框架引用:
- Swift文件顶部添加:
import UIKit - Objective-C文件顶部添加:
#import <UIKit/UIKit.h>
5. 校验Flutter环境
确保Flutter使用最新稳定版,避免环境冲突:
flutter upgrade flutter doctor
执行flutter doctor检查并修复所有未解决的环境问题。
内容的提问来源于stack exchange,提问作者Patil Kalpesh 4242
相关产品推荐
相关产品推荐

