为了测试本地化,我有一个Xcode方案,配置为指定模拟器区域设置。该计划如下所示:
-AppleLocale $(LANG)_$(COUNTRY)
-AppleLanguages ($(LANG))
如果将LANG
和COUNTRY
定义为目标中的构建设置,则将上述参数传递给模拟器会产生预期的效果。
为方便自动化,我希望能够从xcodebuild覆盖构建设置。但是,当我运行以下操作来覆盖目标构建设置时,模拟器的语言环境保持不变。
xcodebuild test -workspace MyApp.xcworkspace -scheme 'App UI Tests' -destination 'name=iPad Air' LANG=es COUNTRY=ES
似乎使用了目标的默认构建设置,而不管终端指定的任何覆盖。
作为替代方案,我可以直接在方案中指定区域设置代码。然后我可以为每个语言环境复制该方案。这似乎有很多重复,但也许它更多是方案的预期用法。
我错过了什么吗?这是设计方案的特征,还是Xcode的问题?