Standalone + exp.json Icon Configuration Clarifications

#1

Hey Expo,

I was going through Configuration with app.json and would like to clear up some icon questions. I’d love to update the docs afterwards too!

App Icon:
https://docs.expo.io/versions/latest/guides/configuration.html#icon

Local path or remote url to an image to use for your app’s icon. We recommend that you use a 512x512 png file with transparency. This icon will appear on the home screen and within the Expo app.

  • Assuming with iOS 11 this should now be 1024x1024 png. For iOS, what happens to the transparency? Is it filled in with white?

  • Should the icons we upload all have a pixel density of @4x especially with iPhone X & android’s insane screen resolutions?

Notification Icon:
https://docs.expo.io/versions/latest/guides/configuration.html#icon-1

Local path or remote url to an image to use as the icon for push notifications. 48x48 png grayscale with transparency.

But assets/icon/notification-icon.png is 144x144 and RGB with transparency. Is this the new recommended format & size?

Loading Icon:
https://docs.expo.io/versions/latest/guides/configuration.html#icon-2

Local path or remote url to an image to display while starting up the app. Image size and aspect ratio are up to you. Must be a .png.

Can we offer a recommended width, height or aspect ratio? What if somebody uses their 1024x1024 app icon here? Or something that looks poopy?

Thanks!

#2

On the iOS side the docs could definitely use some clarification.

Yes, a 1024x1024@1x icon is great, especially since Xcode 9 came out a few weeks ago. For all the other sizes, we’ll auto scale your icon (nothing else is larger than 1024x1024 pixels, even at high pixel density).

With regards to the Apple icon, “with transparency” is confusing and we should take it out and just link to this guide. As the guide currently states, none of the pixels should actually be less than 100% opacity, even if the file technically has a 4th alpha channel. And we expect a PNG in sRGB color space.

The loading API is soon-to-be-deprecated as soon as we think that the newer splash API is stable enough to recommend. The newer API has clear behavior defined (it will fit or fill your image depending on what you specify).

2 Likes