pointfreeco / swift-snapshot-testing

📸 Delightful Swift snapshot testing.
https://www.pointfree.co/episodes/ep41-a-tour-of-snapshot-testing
MIT License
3.68k stars 556 forks source link

Support visionOS #855

Open mihai8804858 opened 2 months ago

mihai8804858 commented 2 months ago

This PR adds support for visionOS by adding a bunch of os(visionOS) checks and #available(visionOS 1.0, *).

ViewImageConfig for Vision Pro was added:

public static let visionPro = ViewImageConfig(
  safeArea: .zero,
  size: .init(width: 2700, height: 1360),
  traits: .init()
)

And UITraitCollection for Vision Pro was added:

public static let visionPro = UITraitCollection(
  traitsFrom: [
    .init(userInterfaceIdiom: .vision),
    .init(horizontalSizeClass: .regular),
    .init(verticalSizeClass: .regular),
    .init(displayScale: 2.0),
    .init(userInterfaceStyle: .dark),
    .init(layoutDirection: .leftToRight),
    .init(forceTouchCapability: .unavailable),
    .init(preferredContentSizeCategory: .large),
    .init(accessibilityContrast: .normal),
    .init(userInterfaceLevel: .base),
 ]
)

To support visionOS I had to update Xcode version to 15.3, and update test devices to iPhone 15 Pro Max (17.4) and Apple TV 4K (17.4).