Flutter iOS构建失败:DVTDeviceOperation版本不兼容错误求助
解决Flutter iOS构建时“Encountered a build number "" that is incompatible with DVTBuildVersion”错误
错误信息
Running pod install... Running Xcode build... Xcode build done. 111.3s Failed to build iOS app Error output from Xcode build: ↳ 2024-10-06 23:59:32.467 xcodebuild[35990:3039730] DVTDeviceOperation: Encountered a build number "" that is incompatible with DVTBuildVersion. 2024-10-06 23:59:33.181 xcodebuild[35990:3039672] [MT] DVTDeviceOperation: Encountered a build number "" that is incompatible with DVTBuildVersion. ** BUILD FAILED **
已尝试但无效的方案
- 删除pods、podfile、podfile.lock、pubspec.lock、.symlink文件
- 执行
flutter clean、flutter upgrade、flutter pub get命令 - 手动修改pubspec和Xcode中的版本信息
- 在podfile中添加指定代码
- 在Xcode中允许非模块化引入
针对性解决步骤
补全Xcode项目的Build Number
打开iOS项目的Runner.xcodeproj:- 进入Build Settings,搜索
Versioning分类下的Current Project Version,确保该字段填写非空数字(如1),禁止留空。 - 检查
Info.plist文件中的CFBundleVersion字段,确认值不为空且格式合法(纯数字或点分隔的数字串)。
- 进入Build Settings,搜索
修正pubspec.yaml的版本格式
确保pubspec.yaml中的version字段遵循x.y.z+b格式(如1.0.0+1),+后的部分对应Xcode的Build Number,不可省略或留空。修改后执行flutter pub get同步配置。清空Xcode缓存并重建
- 关闭Xcode,执行终端命令删除Derived Data:
rm -rf ~/Library/Developer/Xcode/DerivedData - 重新打开项目,执行
pod install后再尝试构建。
- 关闭Xcode,执行终端命令删除Derived Data:
排查第三方依赖的版本配置
部分Flutter插件的iOS podspec可能存在Build Number为空的问题:- 尝试将所有依赖更新至最新版本,执行
flutter pub upgrade。 - 若更新无效,找到对应插件的podspec文件,确保
s.version字段格式完整(包含Build Number部分)。
- 尝试将所有依赖更新至最新版本,执行
强制指定Build Number构建
执行终端命令:flutter build ios --build-number=1(将1替换为你需要的构建号),强制指定构建号完成编译。
内容的提问来源于stack exchange,提问作者Abdalla Tawfik
相关产品推荐
相关产品推荐

