Xcode Canvas preview displays identical screen layout and modern frame across all iPhone models

Hello, I'm facing an issue with the Xcode Canvas preview (#Preview).
​No matter which device model I select from the destination list (e.g., switching between iPhone 11 Pro, iPhone 16, or iPhone 18 Pro Max), the preview rendering remains completely identical. It shows the exact same physical frame (with a Dynamic Island) and the layout dimensions don't adjust to reflect the different screen sizes or notch styles of older devices.

Answered by DTS Engineer in 915100022

Thanks for the post. Not my expertise but I think I can help. However there are engineers here from Xcode that I'm sure they'll jump and correct me if I missed something.

Use the device picker in the Xcode preview canvas instead" (or PreviewTrait parameters on #Preview for layout and orientation). If you still maintain legacy PreviewProvider code and need exact simulator string names, you can list them in Terminal with:

xcrun simctl list devicetypes

The deprecated one https://developer.apple.com/documentation/swiftui/view/previewdevice(_:)

I would suggest to read this:
https://developer.apple.com/documentation/xcode/adding-previews-to-your-interface-files

Hope this helps

Albert  WWDR

Accepted Answer

Thanks for the post. Not my expertise but I think I can help. However there are engineers here from Xcode that I'm sure they'll jump and correct me if I missed something.

Use the device picker in the Xcode preview canvas instead" (or PreviewTrait parameters on #Preview for layout and orientation). If you still maintain legacy PreviewProvider code and need exact simulator string names, you can list them in Terminal with:

xcrun simctl list devicetypes

The deprecated one https://developer.apple.com/documentation/swiftui/view/previewdevice(_:)

I would suggest to read this:
https://developer.apple.com/documentation/xcode/adding-previews-to-your-interface-files

Hope this helps

Albert  WWDR