如何在Xcode中测试UserDefaults的AppleLanguages与AppleLocale?
在Xcode中测试AppleLanguages和AppleLocale的方法
可以在Xcode中测试通过UserDefaults设置AppleLanguages和AppleLocale的功能,但需要调整Xcode的Scheme配置并确保代码逻辑正确,以下是具体步骤:
1. 清除Scheme的强制语言/地区设置
- 打开Scheme编辑窗口:点击Xcode顶部菜单栏的
Product > Scheme > Edit Scheme - 切换到
Run > Options标签页 - 将
Application Language和Application Region都设置为System Default - 重点检查
Arguments Passed On Launch列表:如果存在-AppleLanguages或-AppleLocale这类启动参数,直接删除它们——这些参数会优先覆盖UserDefaults中的设置,导致自定义语言切换失效
2. 确保代码设置逻辑正确
设置语言和地区后,必须重启App才能让设置生效,示例代码如下:
// 设置为法语 UserDefaults.standard.set(["fr"], forKey: "AppleLanguages") UserDefaults.standard.set("fr_FR", forKey: "AppleLocale") UserDefaults.standard.synchronize() // 确保设置立即写入磁盘 // 测试时可通过重启App生效(正式环境建议引导用户手动重启) exit(0)
3. 测试流程注意事项
- 设置完语言后,不要通过Xcode的「Stop」按钮终止App,而是在模拟器/真机上手动关闭App,再点击Xcode的「Run」重新启动
- 如果问题仍存在,尝试清理Xcode缓存(
Product > Clean Build Folder),并删除模拟器中的App数据,再重新运行
内容的提问来源于stack exchange,提问作者Andrei Herford
相关产品推荐
相关产品推荐

