iOS 16 - AWS S3 PreSigned JPG display issue

Looks like AWS S3/STS presigned JPG images do not render properly in iOS 16, attempted on both Safari and Chrome.

The image is invisible but shows up while you long press it. Which means the pre-signed URLs are fine.

PNGs load as expected.

Steps to reproduce:

  1. Upload a JPG and PNG an image to S3.
  2. Protect the images with an IAM policy.
  3. Obtain the temp credentials from STS.
  4. Sign the image URL with the temp credentials.
  5. Attempt loading both images on iOS 16 device or simulator.
  6. One should load while one won't.

Facing the same issue!

The issue actually turned out to be iOS 16 not being able to render jpgs with certain color profiles, for eg. Sierra Profiler Test (XYZ_2). The PNG worked for me initially because when i converted it from jpg macOS preview app it changed the color profile.

My workaround for this issue was to use exiftool to convert my images' color profile to sRGB IEC61966-2.1, which worked like a charm.

iOS 16 - AWS S3 PreSigned JPG display issue
 
 
Q