如何在iOS模拟器中测试动态类型(较大的字体大小)
问题描述:
在iOS中更改动态类型设置可以手动完成(设置>常规>辅助功能>较大文本)。如何在iOS模拟器中测试动态类型(较大的字体大小)
但是,在目前的模拟器(本文写作时为v9.3)中似乎不起作用,并且手动这样做并不是需要自动化的解决方案。
问题:有没有办法通过动态类型设置启动应用程序来启动具有更大字体大小的应用程序?
注意:这不仅对UI测试有用,而且对于使用更大字体大小的Fastlane快照创建屏幕截图也很有用。
答
尽管(据我所知)没有记录,但启动参数可用于定义初始动态类型设置。
重点:UIPreferredContentSizeCategoryName
值:其中一个下面
UICTContentSizeCategoryXS
UICTContentSizeCategoryS
UICTContentSizeCategoryM
UICTContentSizeCategoryL
UICTContentSizeCategoryXL
UICTContentSizeCategoryXXL
UICTContentSizeCategoryXXXL
UICTContentSizeCategoryAccessibilityM
UICTContentSizeCategoryAccessibilityL
UICTContentSizeCategoryAccessibilityXL
UICTContentSizeCategoryAccessibilityXXL
UICTContentSizeCategoryAccessibilityXXXL
此无证键/值的来源:GitHub 。
一个方便的方法是将启动参数添加到Xcode方案中(例如,在启动时传递的参数下添加-UIPreferredContentSizeCategoryName UICTContentSizeCategoryXL
),并且在Xcode中运行应用程序时将应用此设置。您可以使用不同的动态类型设置创建多个方案以在它们之间切换。
如果目的是使用FASTLANE快照创建屏幕截图,等效代码如下:
app.launchArguments += [ "-UIPreferredContentSizeCategoryName", "UICTContentSizeCategoryXL" ]
app.launch()