如何在iOS模拟器中testingdynamictypes(更大的字体大小)
在iOS中更改dynamictypes设置可以手动完成(设置>常规>辅助function>大文本)。
但是,在目前的模拟器(本文写作时为v9.3)中似乎不起作用,并且手动执行并不是需要自动化的解决scheme。
问题:有没有办法通过dynamictypes设置启动应用程序来启动更大字体的应用程序?
注意:这不仅对UItesting有用,而且对于使用更大字体的Fastlane快照创build屏幕截图也是有用的。
尽pipe(据我所知)没有logging,但可以使用启动参数来定义初始dynamictypes设置。
键: UIPreferredContentSizeCategoryName
价值:下面的一个
-
UICTContentSizeCategoryXS
-
UICTContentSizeCategoryS
-
UICTContentSizeCategoryM
-
UICTContentSizeCategoryL
-
UICTContentSizeCategoryXL
-
UICTContentSizeCategoryXXL
-
UICTContentSizeCategoryXXXL
-
UICTContentSizeCategoryAccessibilityM
-
UICTContentSizeCategoryAccessibilityL
-
UICTContentSizeCategoryAccessibilityXL
-
UICTContentSizeCategoryAccessibilityXXL
-
UICTContentSizeCategoryAccessibilityXXXL
这个无证键/值的来源: GitHub 。
一个方便的方法是向Xcodescheme添加一个启动参数(例如,在启动时传递的参数下添加-UIPreferredContentSizeCategoryName UICTContentSizeCategoryXL
),当您在Xcode中运行应用程序时,将应用此设置。 您可以使用不同的dynamictypes设置创build多个scheme,以在它们之间切换。
如果目的是使用Fastlane Snapshot创build屏幕截图,则相应的代码如下所示:
app.launchArguments += [ "-UIPreferredContentSizeCategoryName", "UICTContentSizeCategoryXL" ] app.launch()
从Xcode 8起,有一个比未logging的启动参数更好的选项:Accessibility Inspector。 这是谈话 ,可以在Xcode>打开开发工具下find。
从iOS 10开始,可以使用UITraitCollection
APIdynamic更改dynamictypesselect。 有关更多信息,请参阅https://stackoverflow.com/a/43983241/1148702 。