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

Expo 52下expo-tracking-transparency多语言适配及构建咨询

针对Expo 52中expo-tracking-transparency的多语言配置及iOS目录相关问题解答

一、为expo-tracking-transparency实现多语言翻译(托管式工作流,无iOS目录)

在纯Expo托管项目中,无需生成iOS目录,直接通过app.json即可配置多语言权限提示:

  • 打开项目根目录的app.json,在expo.ios节点下添加locales字段,针对每种目标语言配置对应的跟踪权限描述:
    "expo": {
      "ios": {
        "infoPlist": {
          "NSUserTrackingUsageDescription": "We need tracking permission to provide personalized content"
        },
        "locales": {
          "zh-Hans": {
            "infoPlist": {
              "NSUserTrackingUsageDescription": "我们需要请求跟踪权限,为您提供个性化内容"
            }
          },
          "ja": {
            "infoPlist": {
              "NSUserTrackingUsageDescription": "パーソナライズされたコンテンツを提供するために、追跡許可が必要です"
            }
          }
        }
      }
    }
    
  • 配置完成后执行eas build构建iOS应用,Expo会自动将这些翻译注入对应语言的InfoPlist.strings文件,系统会根据设备语言自动加载匹配的提示文本。

二、生成iOS目录并在Xcode中创建InfoPlist.strings

完全可以通过以下步骤切换到包含iOS原生目录的开发模式:

  1. 生成iOS目录:在项目根目录运行命令
    npx expo prebuild
    
    该命令会依据app.json的配置生成iOS原生目录,项目仍可通过eas build构建,同时支持Xcode本地开发。
  2. 在Xcode中配置多语言:
    • 打开生成的ios/[项目名].xcworkspace文件
    • 选中项目根节点,切换到Info标签,在Localizations区域点击+号,添加需要支持的语言(如简体中文)
    • 找到Info.plist文件,右键选择Show Localizations,勾选已添加的语言,Xcode会自动为每种语言生成对应的InfoPlist.strings文件
  3. 编辑翻译内容:打开对应语言的InfoPlist.strings文件,添加跟踪权限的翻译,示例:
    // zh-Hans.lproj/InfoPlist.strings
    "NSUserTrackingUsageDescription" = "我们需要请求跟踪权限,为您提供个性化内容";
    
  4. 构建应用:可直接在Xcode中编译运行,也可继续使用eas build命令构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 11:42:41