You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Apple Watch应用Storyboard本地化不生效问题求助

解决Apple Watch应用本地化不生效的问题

针对你遇到的「Watch应用预览正常但真机/模拟器始终显示英文,iOS应用正常」的问题,我整理了几个常见的排查和修复步骤:

1. 检查Watch Extension的本地化支持

WatchKit应用的界面逻辑是由Watch Extension负责的,所以必须确保Extension目标开启了对应语言的本地化:

  • 打开Xcode项目,选中你的Watch Extension target
  • 切换到「Info」标签页,找到「Localizations」区域
  • 确认已添加「German」(德语),如果没有,点击+号添加并勾选对应的本地化文件

2. 确认本地化.string文件归属正确

你的Storyboard本地化文件必须归属到Watch Extension目标,否则运行时Extension无法读取:

  • 在项目导航栏中找到对应的.strings文件(比如Base.lproj/MainInterface.storyboard.stringsde.lproj/MainInterface.storyboard.strings
  • 选中文件后,打开右侧的「File Inspector」
  • 在「Target Membership」部分,确保勾选了你的Watch Extension(不要只勾选iOS主App或Watch App)

3. 验证本地化字符串的键名匹配

虽然预览正常,但运行时可能因为键名不匹配导致失效:

  • 打开Watch的Storyboard,选中那个标签控件
  • 在右侧「Identity Inspector」中复制它的Object ID
  • 打开德语的.strings文件,检查是否存在对应的键:
    "你的ObjectID.text" = "德语对应的文本内容";
    
    确保键名完全一致,没有拼写错误或多余空格

4. 正确切换WatchOS的语言(避免Xcode方案的坑)

Xcode的「Scheme语言设置」有时候对Watch应用不生效,建议直接在Watch设备/模拟器中设置语言:

  • 打开Watch模拟器的「设置」App → 「通用」→ 「语言与地区」→ 选择「Deutsch」(德语)
  • 重启Watch模拟器(或真机),再运行应用测试

5. 清理缓存与Derived Data

有时候旧的本地化缓存会导致新资源不加载:

  • 关闭Xcode,清理项目缓存:Command + Shift + K
  • 删除Derived Data:Xcode顶部菜单 → 「Settings」→ 「Locations」→ 点击Derived Data路径旁的箭头,删除对应项目的文件夹
  • 重新构建并运行应用

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

火山引擎 最新活动