xcode – 不同语言环境下的XCTest

是否可以在不同的设备区域测试测试结果?

我想测试正在使用的方法

Nsstring *language = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0];

确定当前的设备语言.现在在我的XCTest中,我想检查当我在例如“en-gb”而不仅仅是“en”时会发生什么,或者只是测试一种完全不同的语言.

解决方法

NSLocalizedString方法在启动时加载适当的字符串以进行快速查找,因此在启动后无法移动它.您可以做的是运行具有一个区域设置的测试套件,然后在不同的区域设置中运行相同的测试套件.

您可以通过选择“运行”操作,“选项”选项卡以及选择“应用程序语言和应用程序区域”,在“方案编辑器”中设置应用程序的区域设置.两者都认为系统设置,但您可以更改它们,包括使用一些方便的假RTL和假双倍长度语言.

(如果Test动作由于某种原因没有继承这些设置,那么你也可以设置命令行参数来改变用于命令语言和区域首选项的认查找.这可能适合于脚本目的.)

相关文章

在有效期内的苹果开发者账号(类型为个人或者公司账号)。还...
Appuploader官网--IOS ipa上传发布工具,证书制作工具跨平台...
苹果在9月13号凌晨(北京时间)发布 iOS 16,该系统的设备可...
计算机图形学--OpenGL递归实现光线追踪
Xcode 14打出来的包在低版本系统运行时会崩溃,报错信息是Li...