如何在iOS模拟器中测试动态类型(较大的字体大小)

Cla*_*fou 9 xcode ui-testing ios ios-simulator fastlane-snapshot

可以手动完成在iOS中更改动态类型设置(设置>常规>辅助功能>较大文本).

但这似乎不适用于当前的模拟器(编写本文时为v9.3),并且手动执行此操作并不是需要自动化的解决方案.

问题:有没有办法启动具有动态类型设置的应用程序来启动具有更大字体大小的应用程序?

注意:这不仅对UI测试有用,而且还用于使用具有更大字体大小的Fastlane Snapshot创建屏幕截图.

Cla*_*fou 13

虽然(据我所知)没有记录,但启动参数可用于定义初始动态类型设置.

键: UIPreferredContentSizeCategoryName

价值:以下之一

  • UICTContentSizeCategoryXS
  • UICTContentSizeCategoryS
  • UICTContentSizeCategoryM
  • UICTContentSizeCategoryL
  • UICTContentSizeCategoryXL
  • UICTContentSizeCategoryXXL
  • UICTContentSizeCategoryXXXL
  • UICTContentSizeCategoryAccessibilityM
  • UICTContentSizeCategoryAccessibilityL
  • UICTContentSizeCategoryAccessibilityXL
  • UICTContentSizeCategoryAccessibilityXXL
  • UICTContentSizeCategoryAccessibilityXXXL

此未记录的键/值的来源:GitHub.

一种方便的方法是向Xcode方案添加一个启动参数(例如-UIPreferredContentSizeCategoryName UICTContentSizeCategoryXL,在启动时传递的Arguments下添加),当您在Xcode中运行应用程序时,此设置将适用.您可以创建具有不同动态类型设置的多个方案以在它们之间切换.

如果目的是使用Fastlane Snapshot创建屏幕截图,则等效代码如下:

app.launchArguments += [ "-UIPreferredContentSizeCategoryName", "UICTContentSizeCategoryXL" ]
app.launch()
Run Code Online (Sandbox Code Playgroud)


bjt*_*tus 10

从Xcode 8开始,有一个比未记录的启动参数更好的选项:Accessibility Inspector.本演讲将介绍它,可以在Xcode> Open Developer Tool下找到.

Xcode辅助功能检查器

  • 如果您仍然看不到它,请确保在设置中启用“大辅助功能尺寸”,并在辅助功能检查器的左上角下拉列表中选择正确的模拟器。不要选择“我的 mac --> 模拟器”,下拉列表中 Mac 下方应该有模拟器。 (2认同)