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

如何永久修改所有iOS模拟器的系统语言与区域?解决Xcode更新重置问题

永久设置Xcode模拟器默认语言/区域的解决方案

一、修改Xcode模拟器模板(新建模拟器自动生效)

Xcode更新后会重置模拟器模板,直接修改模板文件可让所有新创建的模拟器默认使用en_BZ:

  1. 定位到对应iOS版本的模拟器运行时配置文件(路径随iOS版本变化,需根据实际版本调整),以iOS 17为例:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.simruntime/Contents/Resources/RuntimeRoot/System/Library/CoreServices/SystemVersion.plist
    
  2. 先复制该文件做备份,防止操作失误。
  3. 编辑原plist文件,找到AppleLanguages和AppleLocale字段:
    • AppleLanguages为数组类型,将第一个元素改为en_BZ
    • AppleLocale为字符串类型,直接设置为en_BZ
  4. 重启Xcode,之后新建的模拟器会自动应用该语言与区域设置。

二、批量修改现有模拟器(规避Xcode14崩溃问题)

针对Xcode14手动修改语言触发崩溃的bug,使用xcrun simctl命令行工具更安全,还能批量处理:

  1. 列出所有可用模拟器的UDID与名称:
    xcrun simctl list devices
    
  2. 对单个模拟器执行配置命令:
    xcrun simctl configure <模拟器UDID> --locale en_BZ --language en_BZ
    
  3. 批量处理所有模拟器可使用Shell脚本:
    #!/bin/bash
    for udid in $(xcrun simctl list devices | grep -E "[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}" -o); do
        xcrun simctl configure $udid --locale en_BZ --language en_BZ
        echo "配置模拟器 $udid 完成"
    done
    
    保存为set_simulator_lang.sh,赋予执行权限后运行即可。

三、Xcode更新后的重复操作处理

Xcode每次更新都会覆盖模拟器模板文件,建议:

  • 备份修改后的SystemVersion.plist文件
  • 更新Xcode后,直接将备份文件替换到对应路径,无需重复编辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:35:40