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

无法从Swift String Catalog中移除语言的问题求助

iOS应用移除多余语言后仍在设置中显示的解决办法

问题

我给iOS应用做了带String Catalog的Localizable文件,测试时加了好几种语言,这些语言都出现在应用设置里。现在想删掉大部分语言,但它们还是在设置里看得见。

试过的操作都没用:

  • 删掉了所有和localizable、localizations相关的内容
  • Project Info里只留了英语和法语
  • 删除应用、重启设备
  • 先装App Store上无本地化的版本,再装调试版

相关截图:

  • Localizable文件
  • Project Info设置
  • 应用设置

解决步骤

  1. 手动检查Info.plist
    直接打开项目的Info.plist文件,找CFBundleLocalizations这个字段,确保里面只有en和fr两个语言代码,把其他多余的都删掉。有时候Project Info的修改不会同步到这个字段,得手动改。

  2. 清理String Catalog里的残留语言
    打开.xcstrings文件,看左侧的语言列表,删掉不需要的语言。别只删文件,要确保xcstrings本身已经移除了多余语言的配置。

  3. 清Xcode缓存

    • 点Product > Clean Build Folder(快捷键Cmd+Shift+K)
    • 打开Xcode偏好设置,进Locations,点Derived Data旁边的箭头,删掉对应项目的Derived Data文件夹
    • 重启Xcode
  4. 检查打包配置
    如果是用TestFlight或App Store发的版本,打包时要确认本地化配置只留需要的语言。在Build Settings里搜Localization,看看Localization native development region和Localizations的设置对不对,有没有多余语言。

  5. 重置设备语言缓存
    光删应用重启可能不够,试试:

    • 进iOS设置的通用 > 传输或还原iPhone > 还原 > 还原所有设置(不会删数据,只是重置系统设置)
    • 或者先把系统语言换成别的,再切回来,重新装应用
  6. 查第三方依赖的本地化
    有些第三方库自带本地化文件,会导致应用设置里显示多余语言。用Xcode的Find in Project搜.lproj文件夹,看看是不是第三方库残留的语言文件夹,有的话删掉就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 20:10:07