dabai12399
dabai12399
  • 发布:52 分钟前
  • 更新:51 分钟前
  • 阅读:24

【报Bug】纯英语项目 iOS 云打包后仍显示支持简体中文 uni-app iOS 云打包如何移除默认的 zh-Hans.lproj?

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 26.5.2

HBuilderX类型: 正式

HBuilderX版本号: 5.24

手机系统: iOS

手机系统版本号: iOS 26

手机厂商: 苹果

手机机型: iphone 15

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

uni-app 项目设置 "locale": "en" 后,通过 HBuilderX 云打包 iOS,并提交 App Store。

预期结果:

App Store 仅显示支持 English。

实际结果:

IPA 主 Bundle 仍包含 zh-Hans.lproj,App Store 显示支持简体中文和 English。

bug描述:

需求说明:英语应用,希望uni-app iOS 云打包时移除主 Bundle 中默认生成的 zh-Hans.lproj,使 App Store 仅显示支持 English。

我们有一个仅支持英文的 uni-app 应用,目前 manifest.json 已设置:

"locale": "en"

但通过 HBuilderX iOS 云打包后,检查最终 IPA,发现 App 主 Bundle 中仍然包含:

xxx.app/en.lproj
xxx.app/zh-Hans.lproj

因此提交 App Store 后,App Store 的 Languages 仍然显示支持 English 和 Simplified Chinese。

应用本身没有提供中文界面,也不希望在 App Store 中显示支持中文。

想请教一下:

iOS 云打包是否有配置,可以移除默认生成的 zh-Hans.lproj?
是否可以让最终 App 主 Bundle 只保留 en.lproj?
app-plus.locales 是否支持限制语言,而不仅仅是新增语言?

目标是最终 IPA 中:
xxx.app/en.lproj

保留,但不再生成:
xxx.app/zh-Hans.lproj

感谢!

52 分钟前 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

感谢您的反馈。针对您提交的 Bug 反馈,我们从官方视角进行了评审与分析,具体如下:

1. Bug 反馈内容完整性分析

  • BUG 描述:描述非常清晰。您详细说明了应用的需求(仅支持英文)、已做的配置("locale": "en")、云打包后实际 IPA 包含的文件(zh-Hans.lproj)、以及最终对 App Store 显示语言的影响。这部分信息充分,官方人员能够完全理解您的诉求和问题现象。
  • 代码示例:缺少完整的代码示例。虽然您在描述中提到了 manifest.json 中已设置 "locale": "en",但未提供完整的 manifest.json 配置文件截图或源码(尤其是 app-plus 节点下的相关配置)。建议补充完整的配置代码,以便排查是否有其他配置项影响了打包结果。
  • 复现步骤:复现步骤描述为“设置 "locale": "en" 后通过 HBuilderX 云打包 iOS,并提交 App Store”。结合通用知识,该步骤足够清晰,官方人员可以通过创建一个空项目并进行 iOS 云打包来复现和验证包内语言文件的情况。
  • 预期结果与实际结果:预期结果(App Store 仅显示支持 English)和实际结果(App Store 显示支持简体中文和 English)均合理且明确,能够准确反映问题所在。
  • 分类信息:分类信息完整,包含了 PC 环境、HBuilderX 版本、手机 OS 平台与版本、Vue 版本、设备机型等必要信息,符合 Bug 反馈规范。
  • 附件说明:由于系统限制,我无法识别附件内容。如果后续需要提供日志或截图,请在文字描述中详细说明。

2. Bug 是否成立分析

经过在知识库中核查,该 Bug 现象成立,且属于当前云端打包机制的限制,暂不支持通过配置移除默认的简体中文资源。

ask 社区历史反馈 中,官方人员(DCloud_App_Array)已于 2024 年 11 月 8 日明确回复过相同问题:“云端打包暂时不支持去掉中文,此需求建议使用离线打包。”

具体说明如下:

  • 关于移除 zh-Hans.lproj:目前 uni-app 的 iOS 云端打包流程会默认生成包含简体中文和英文的语言资源目录,暂不支持通过 manifest.json 配置来移除默认生成的 zh-Hans.lproj
  • 关于 app-plus.locales 的作用app-plus.locales 配置主要用于新增其他语言的支持(例如配置应用名称的多语言),并不支持用来“限制”或“剔除”框架默认打包的基础语言。

3. 替代方案建议

由于云端打包暂时无法满足您仅保留 en.lproj 的需求,建议您采用以下方案:

  • 使用 iOS 离线打包:这是目前官方推荐的解决路径。通过本地配置 iOS 原生工程进行离线打包,您可以完全自主控制工程内的资源文件,手动删除不需要的 zh-Hans.lproj 目录,从而确保最终提交 App Store 的 IPA 包中仅包含 en.lproj,使 App Store 仅显示支持 English。

我们将持续关注此类需求,后续也会评估是否在云端打包中增加更灵活的语言资源配置能力。感谢您的反馈与支持!

内容为 AI 生成,仅供参考

要回复问题请先登录注册