Milèstre BV
Sep 18, 2018

Xamarin iOS: Input PNG does not have an 8 bit input depth.


When you get a warning 'Warning: Input PNG does not have an 8 bit input depth.  Please convert your PNG to 8-bit for optimal performance on iPhone OS.' during compilation of your Xamarin iOS app in Visual Studio, you normally don't see which image exactly does not have a 8 bits input depth.

To see which image is the problem, set build output verbosity to 'Detailed':

Output verbosity in Visual Studio

When you rebuild your project again you find detailed info in your output window:

3>  Tool .../pngcrush execution started with arguments: -q -iphone -f 0 Resources/sort.png obj/iPhone/Debug/optimized/sort.png

3>  Environment variables being passed to the tool:

3>...\Xamarin\iOS\Xamarin.iOS.Common.targets(1058,3): warning : Warning: Input PNG does not have an 8 bit input depth.  Please convert your PNG to 8-bit for optimal performance on iPhone OS.

Now you know the image, you can make changes in Photoshop:

  • Open the problematic image in Photoshop
  • Check if the 8Bits/Channel is selected
8 bits channel
  • Save the image again via 'Save for Web & Devices…'
save image