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

Expo EAS Build部署目标错误:已配置iOS最低版本但仍提示组件不兼容

Expo EAS Build部署目标错误:已配置iOS最低版本但仍提示组件不兼容

遇到这种明明配置了部署目标却不生效的情况确实挺闹心的,我来分享几个实际项目里验证过的解决思路,你可以逐个尝试:

  • 先确认expo-build-properties插件的有效性
    有时候旧版本的插件可能存在配置不生效的bug,先把插件更到最新版试试:

    npx expo install expo-build-properties@latest
    

    另外再仔细核对一遍app.json里的插件配置,确保嵌套结构、逗号括号都没有语法错误——你贴的配置看起来没问题,但细节上的小失误有时候也会导致配置不被读取。

  • 强制给目标Pod指定部署版本
    有些第三方Pod不会自动继承项目的部署目标,这时候需要手动在Podfile里强制设置。先通过npx expo prebuild生成ios目录,然后在ios/Podfile里添加这段代码:

    post_install do |installer|
      installer.pods_project.targets.each do |target|
        if target.name == 'NFCPassportReader'
          target.build_configurations.each do |config|
            config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0'
          end
        end
      end
    end
    

    添加完执行cd ios && pod install --repo-update,之后再重新触发EAS构建。

  • 清理EAS的构建缓存
    EAS有时候会缓存之前的构建环境,导致新的配置无法生效。触发构建时加上清缓存参数:

    npx eas build --platform ios --clear-cache
    

    这个操作会强制重新拉取所有依赖并使用新的配置,很多时候能解决缓存导致的问题。

  • 临时修改组件的Podspec(应急方案)
    如果上面的方法都没用,可以去node_modules/@better-network/react-native-nfc-passport-reader/ios目录下找到组件的Podspec文件,查看里面的platform :ios设置是不是硬编码成了低于14.0的版本。如果是,临时改成14.0再构建——不过注意这个修改在重新安装依赖后会丢失,最好后续给组件作者提个PR修复这个问题。

这些方法应该能覆盖大部分场景,希望能帮你解决这个问题!

备注:内容来源于stack exchange,提问作者Tom Hopkins

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 07:19:52