使用EAS-CLI构建App遇iOS SDK版本报错,如何适配16.1及以上?
解决EAS Build iOS SDK版本过低的问题
核心原因
你当前使用的Expo 44确实是问题根源:Expo每个SDK版本都绑定了特定的Xcode和iOS SDK版本,Expo 44对应的Xcode版本是13.2.1,默认使用iOS 15.2 SDK,完全不支持Xcode 14.1+(对应iOS 16.1 SDK),所以直接修改app.config.ts指定16.1版本会报错——Expo 44不识别这个配置,也无法适配更高版本的SDK。
解决方案
方案1:升级Expo SDK到支持iOS 16.1的版本(推荐)
只有Expo SDK 48及以上版本才支持Xcode 14.1+(对应iOS 16.1 SDK),升级步骤如下:
- 运行
expo upgrade [目标版本](比如expo upgrade 48),自动升级所有相关依赖; - 如果自动升级有问题,手动修改
package.json中expo、react-native等核心依赖的版本到对应Expo SDK的要求,然后执行npm install或yarn install; - 升级完成后,EAS Build会自动使用对应版本的Xcode和iOS SDK,无需手动在配置文件中指定版本。
方案2:临时指定Xcode版本(不推荐,兼容性风险高)
如果暂时无法升级Expo SDK,可以尝试在eas.json中强制指定Xcode版本,但大概率会出现依赖不兼容的问题:
- 在项目根目录的
eas.json中,找到对应构建配置(比如production),添加xcodeVersion字段:{ "build": { "production": { "ios": { "xcodeVersion": "14.1" } } } } - 重新运行EAS Build命令。
注意:Expo 44和Xcode 14.1的兼容性很差,可能会出现构建失败、第三方库报错等问题,仅作为临时应急方案。
内容的提问来源于stack exchange,提问作者RenaissanceMan
相关产品推荐
相关产品推荐

