How to test Dynamic Type (larger font sizes) in iOS Simulator

As of Xcode 8, there is a better option than the undocumented launch arguments: Accessibility Inspector. It is covered in this talk and can be found under Xcode > Open Developer Tool.

Update for Xcode 11+

There is a new Environment Overrides option. Find more information in this answer.

Xcode Accessibility Inspector


Before doing this in Accessibility Inspector, don't forget to turn on "Larger Text" in your simulated device's settings: General -> Accessibility -> Larger Font. Else, the Accessibility Inspector won't show the dynamic font option.

enter image description here


As of iOS 10, it is possible to dynamically alter the dynamic type choice using the UITraitCollection API. See https://stackoverflow.com/a/43983241/1148702 for more info.


Although (to my knowledge) not documented, a launch argument can be used to define the initial Dynamic Type setting.

Key: UIPreferredContentSizeCategoryName

Value: One of the below

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

Source of this undocumented key/values: GitHub.

A convenient way to do so is to add a launch argument to an Xcode scheme (add for example -UIPreferredContentSizeCategoryName UICTContentSizeCategoryXL under Arguments Passed On Launch), and this setting will apply when you run the app in Xcode. You can create multiple schemes with different Dynamic Type settings to switch between them.

If the purpose is creating screenshots using Fastlane Snapshot, the equivalent code is as follows:

app.launchArguments += [ "-UIPreferredContentSizeCategoryName", "UICTContentSizeCategoryXL" ]
app.launch()