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

GitLab CI+Fastlane上传App遇iOS SDK版本验证错误求助

问题

使用GitLab CI配合Fastlane上传iOS应用时,持续出现以下验证错误:

[17:39:27]: [33m[altool] 2024-05-14 17:39:27.338 *** Error: Asset validation failed SDK version issue. This app was built with the iOS 16.2 SDK. All iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution. (ID: 713999ac-ec13-4b2b-a933-52ec2d927b38) (90725)
[0m
[17:39:27]: [33m[altool]  {
[0m
[17:39:27]: [33m[altool]     NSLocalizedDescription = "Asset validation failed";
[0m
[17:39:27]: [33m[altool]     NSLocalizedFailureReason = "SDK version issue. This app was built with the iOS 16.2 SDK. All iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution. (ID: 713999ac-ec13-4b2b-a933-52ec2d927b38)";
[0m
[17:39:27]: [33m[altool]     "original_server_error" =     {
[0m
[17:39:27]: [33m[altool]         code = "STATE_ERROR.VALIDATION_ERROR.90725";
[0m
[17:39:27]: [33m[altool]         detail = "SDK version issue. This app was built with the iOS 16.2 SDK. All iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution.";
[0m
[17:39:27]: [33m[altool]         id = "713999ac-ec13-4b2b-a933-52ec2d927b38";
[0m
[17:39:27]: [33m[altool]         status = 409;
[0m
[17:39:27]: [33m[altool]         title = "Asset validation failed";
[0m
[17:39:27]: [33m[altool]     };
[0m
[17:39:27]: [33m[altool] }
[0m
[17:39:27]: Application Loader output above ^
[17:39:27]: [31mERROR: WILL RETRY PART 1. Failed with error: Error Domain=NSURLErrorDomain Code=-1003 "A server with the specified hostname could not be found." UserInfo={_kCFStreamErrorCodeKey=8, NSUnderlyingError=0x600002c58600 {Error Domain=kCFErrorDomainCFNetwork Code=-1003 "(null)" UserInfo={_kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8, _NSURLErrorNWResolutionReportKey=Resolved 0 endpoints in 27ms using udp from cache, _NSURLErrorNWPathKey=satisfied (Path is satisfied), interface: en0, ipv4, dns}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalUploadTask ., _NSURLErrorRelatedURLSessionTaskErrorKey=(
[0m

本地环境已更新至最新版本:

  • macOS 14(Sonoma)
  • Xcode 15.3
    且Mac上仅安装了Xcode 15和iOS 17 SDK,应用为iOS平台应用。为何仍提示基于iOS 16.2 SDK构建?该如何解决此问题?
解决方案

1. 确认GitLab CI Runner的Xcode环境

本地环境正常不代表Runner环境正确,重点检查Runner端:

  • 在CI脚本中添加xcodebuild -version命令,输出当前使用的Xcode版本,确认是15.3
  • 执行xcodebuild -showsdks查看已安装的SDK列表,确认包含iOS 17.x SDK
  • 若Runner存在多个Xcode版本,在CI脚本开头添加xcode-select -s /Applications/Xcode_15.3.app切换到正确版本路径

2. 验证项目构建设置

CI环境可能读取到旧的缓存设置,需明确指定SDK:

  • 在CI脚本中先执行xcodebuild clean或Fastlane的clean动作,清理旧构建产物
  • 用xcodebuild -project YourProject.xcodeproj -showBuildSettings | grep SDKROOT查看实际使用的SDK路径,确认指向iOS 17 SDK
  • 检查项目的Base SDK配置,确保设置为Latest iOS或明确选择iOS 17.x

3. 调整Fastlane配置

Fastlane的gym动作可能未指定正确SDK:

  • 在Fastfile的gym配置中添加sdk: "iphoneos17.3"参数,强制指定构建所用SDK
  • 更新Fastlane到最新版本:bundle update fastlane,避免旧版本的兼容性问题

4. 清理CI环境缓存

旧缓存可能导致构建时使用旧SDK:

  • 在CI脚本中添加清理DerivedData的命令:rm -rf ~/Library/Developer/Xcode/DerivedData
  • 检查GitLab CI的缓存规则,确保未缓存旧的构建产物或构建设置文件

5. 处理DNS解析错误

日志中附带的DNS错误可能影响上传流程:

  • 确认Runner所在网络能正常访问App Store Connect相关域名
  • 可尝试在CI脚本中添加DNS刷新操作,或切换到公共DNS服务器

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 22:09:53