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

使用依赖FirebaseUI/Auth的本地Expo模块时,资源无法打包进App Bundle的问题

使用依赖FirebaseUI/Auth的本地Expo模块时,资源无法打包进App Bundle的问题

我之前也踩过这个iOS本地化资源的坑!Expo本地模块默认不会自动把第三方依赖(比如FirebaseUI/Auth)的多语言strings文件打包进App Bundle,得手动做几个配置调整:

  • 修改本地模块的iOS Podspec文件
    找到你ExpoFirebaseUIAuth模块iOS目录下的.podspec文件,添加资源打包的配置,把FirebaseUI的本地化资源包含进来。比如加上这段代码:

    s.resource_bundles = {
      'ExpoFirebaseUIAuth' => [
        '**/*.strings',
        # 要是还有图片等其他资源也可以一并添加
      ]
    }
    

    要是需要直接关联FirebaseUI的资源,也可以在依赖声明下面补充资源引用,确保Pod能正确拉取对应的本地化文件。

  • 配置主项目的Expo配置文件
    在你Expo主项目的app.json或者app.config.js里,把需要支持的语言加到iOS的本地化配置中:

    "ios": {
      "infoPlist": {
        "CFBundleLocalizations": ["en", "zh-Hans", "ko"] // 替换成你需要支持的语言列表
      }
    }
    

    这样Expo打包时会正确生成对应语言的资源目录,不会漏掉。

  • 手动拷贝资源(备用方案)
    如果上面的配置都没起作用,你可以直接去Pods目录里找到FirebaseUI/Auth的本地化strings文件(一般在Pods/FirebaseUI/Auth/Localizations路径下),把这些文件拷贝到你本地模块的iOS资源目录里,然后在Podspec里引用自己目录下的这些文件,确保打包时能被纳入App Bundle。

还要注意,每次执行expo prebuild后,iOS项目的Podfile会被重新生成,所以你本地模块的Podspec修改最好同步到版本控制里,避免每次预构建后配置丢失。

提一句:FirebaseUI官方其实也提过,iOS上子依赖的资源需要主项目显式引用才能被打包,而Expo本地模块作为中间层,这个步骤很容易被忽略。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 13:58:12