You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter 2.10+Fastlane上传App遇ERROR ITMS-90725问题求助

解决Flutter 2.10 + Xcode 14.2上传App Store时的ITMS-90725报错

核心问题分析

你遇到的问题本质是:尽管已升级Xcode 14.2(自带iOS 16.2 SDK),但Flutter 2.10默认编译逻辑仍可能绑定旧的iOS 15.5 SDK路径,导致上传时被App Store判定不符合版本要求。完全可以不升级Flutter版本解决此问题,具体操作如下:

分步解决方法

1. 强制指定iOS SDK版本编译

执行Flutter打包命令时,通过环境变量直接指定使用当前Xcode默认的iOS SDK:

SDKROOT=$(xcrun --sdk iphoneos --show-sdk-path) flutter build ipa --release

这条命令会覆盖Flutter内置的旧SDK路径,强制使用Xcode 14.2中的iOS 16.2 SDK编译。

2. 检查并修正Fastlane配置

如果使用Fastlane的gym/build_app动作,确保配置中没有硬编码旧SDK版本:
打开Fastfile,若存在类似xcargs: "-sdk iphoneos15.5"的配置,替换为自动获取当前SDK版本的写法:

lane :release do
  build_app(
    scheme: "YourAppScheme",
    export_method: "app-store",
    xcargs: "-sdk #{`xcrun --sdk iphoneos --show-sdk-version`.strip}"
  )
  upload_to_app_store
end

3. 验证编译产物的SDK版本

打包完成后,验证IPA是否使用了正确的SDK,避免无效操作:

# 解压IPA文件
unzip YourApp.ipa
# 查看Info.plist中的SDK版本
plutil -p Payload/YourApp.app/Info.plist | grep DTSDKName

若输出为"DTSDKName" => "iphoneos16.2"(或16.1及以上版本),说明编译已使用正确SDK。

4. 确认Xcode命令行工具版本

确保系统默认的Xcode命令行工具为14.2版本:

xcode-select -s /Applications/Xcode.app
# 验证版本
xcodebuild -version

输出应显示Xcode 14.2、Build version 14C18及对应的iOS 16.2 SDK版本。

关键原理

Flutter 2.10编译iOS应用时会缓存旧的SDK路径,即使升级Xcode也可能沿用旧路径。通过指定SDKROOT环境变量或修改Fastlane配置,可强制Flutter调用新Xcode中的SDK,无需升级Flutter本身。

内容的提问来源于stack exchange,提问作者alonsolee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 13:29:57