Upgrading Expo 30 to Expo 32 elements are visually smaller

We just now upgraded our production app from Expo 30 to Expo 32 and we’re seeing all the elements on the screen are different density / scaling (everything is smaller) on iPhone XR and iPhone XS Max.

See the attached screenshots:
Expo 30 (production)

Expo 32 (in the Expo app)

We also upgraded react-navigation from 2.18.0 to 3.0.9.

Is this expected?

What dependency might be responsible for scaling the elements on the screen.

For additional fun, we’re seeing the same thing on iPhone XS Max, but NOT on iPhone 7 or iPhone X.

Thanks for the help!


are you sure you uploaded the correct screenshots? those two are identical

1 Like

yep - working on fixing it :slight_smile:

Ok - the correct images are posted now. You can see how all the elements are smaller on the screen after the upgrade.

Since it’s only the iPhone XR and XS Max that we’re seeing the issue, I wonder if it’s how devices of that type are being handled from a pixel density perspective?

Ok, I found a “fix” or rather, an explanation.

If you toggle Display Zoom to “Zoomed”, the Expo 32 version now matches the Expo 30 app in production exactly. It’s as if in Expo 30, rendering on iPhone XR and iPhone XS Max was rendering as if Display Zoom was set to “Zoomed.” Said differently, it appears that Expo 32 respects Display Zoom of “Standard” on iPhone XS Max and iPhone XR.

I still don’t know why that is, so if anyone has any insight, it would be appreciated. :slight_smile:

not sure what caused this and i can’t reproduce it, the only difference between this test sdk30 app and sdk32 is that i had to change a couple of icons that were removed from ionicons

oh I see: How iOS Apps Adapt to the iPhone XS Max and iPhone XR Screen Sizes | by Geoff Hackworth | Medium

Apps that were built with Xcode 9 (i.e. targeting iOS 11) are unaware of the existence of the iPhone XS Max screen size. The same Xcode 9 / iOS 11 app running on the new iPhone XS Max (or iPhone XR) is simply zoomed to fill the larger screen

SDK30 was release, iirc, before iPhone XR was released, and so it ran in display zoom mode

Thanks @notbrent for taking the time to build two test apps and investigate! Yeah, once we toggled the SDK 32 to Zoomed and saw that it matched SDK 30 pixel-for-pixel, we realized what was going on. And good find on the medium article.

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.