如何在Xcode 13与iOS 15中设置iOS模拟器默认语言并恢复旧版运行时的语言选择行为?
恢复旧版iOS模拟器的语言默认行为
这个问题我之前专门研究过,确实可以通过修改Xcode里对应iOS运行时的配置文件,让旧版iOS模拟器回到「用系统语言启动」的传统行为,具体操作步骤如下:
第一步:找到目标iOS运行时的配置文件
打开Finder,导航到Xcode的安装目录,找到对应iOS版本的runtime文件夹。路径格式是这样的:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS <你的目标版本号>.simruntime/Contents/Info.plist比如你要修改iOS 13.2的话,完整路径就是:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS 13.2.simruntime/Contents/Info.plist第二步:修改plist配置
用Xcode或者TextEdit打开这个plist文件,添加或修改以下键值对:- 添加
DefaultLanguage键,类型选择String,值可以设为你想要的系统语言代码(比如zh-CN对应简体中文,en-US对应英文),或者直接填$(SystemLanguage),这样模拟器就会继承macOS的系统语言——这就是旧版模拟器的核心行为逻辑。 - 如果需要同步设置地区,可以再加一个
DefaultRegion键,类型也是String,值填对应的地区代码(比如CN、US),或者用$(SystemRegion)继承系统地区。
另外,如果你的plist里已经有
DefaultKeyboardLayoutName这个键,建议把它删掉或者注释掉——这个键就是新版Xcode让模拟器优先用键盘语言的关键,去掉它就能让DefaultLanguage的设置生效。- 添加
第三步:重启服务让配置生效
保存修改后的plist文件,先完全退出Xcode,然后打开终端执行下面的命令,重启CoreSimulator服务:killall -9 com.apple.CoreSimulator.CoreSimulatorService
做完这些之后,你再创建对应iOS版本的模拟器,它就会像以前那样用系统语言启动,而不是跟着macOS的键盘语言走了。
小提醒:Xcode更新的时候,这些内置配置文件可能会被覆盖,所以每次更新Xcode后可能需要重新操作一遍。修改前最好先备份原plist文件,万一出问题还能还原。
内容的提问来源于stack exchange,提问作者Pahnev
相关产品推荐
相关产品推荐

