Unable to build standalone iOS app. "Failed to resize image: AppIcon20x20@2x.png."

Hello,
I am unable to successfully run expo build:ios using a codebase that had no issues running that command as of two weeks ago and has not been updated since. The error I receive is shown below:

I have absolutely no idea what this duplicate iCCP chunk error is and was hoping someone could point me in the right direction as to how to resolve this issue.

expo diagnostics output:

  Expo CLI 4.4.4 environment info:
    System:
      OS: macOS 11.4
      Shell: 5.8 - /bin/zsh
    Binaries:
      Node: 14.4.0 - /usr/local/bin/node
      Yarn: 1.22.4 - /usr/local/bin/yarn
      npm: 6.14.4 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    Managers:
      CocoaPods: 1.10.1 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
      Android SDK:
        API Levels: 28, 29, 30
        Build Tools: 28.0.3, 30.0.3
        System Images: android-30 | Google APIs Intel x86 Atom
    IDEs:
      Android Studio: 4.2 AI-202.7660.26.42.7351085
      Xcode: 12.5/12E262 - /usr/bin/xcodebuild
    npmPackages:
      @expo/webpack-config: ^0.12.16 => 0.12.61 
      expo: ^39.0.0 => 39.0.5 
      react: 16.13.1 => 16.13.1 
      react-dom: 16.13.1 => 16.13.1 
      react-native: https://github.com/expo/react-native/archive/sdk-39.0.0.tar.gz => 0.63.2 
      react-native-web: ~0.13.7 => 0.13.18 
    npmGlobalPackages:
      expo-cli: 3.21.12
    Expo Workflow: managed

hi there! we updated sharp recently, the tool that we use for resizing images: update sharp and skip NDK install on M1 (#319) · expo/turtle@95a4886 · GitHub

it’s possible that the png you provided is actually invalid and maybe the new version of sharp enforces this more strictly. you should try re-exporting your icon png.

I tried re-exporting the app icon to no success. I also tried replacing my current app icon with the placeholder app icon that comes from a newly created expo init project and that also did not work.

Do you by any chance have an app icon that currently works that I could try using?

yup! run expo init and look at the app icon resulting in that project

edit: oh i just noticed you had another reply before that. i’ll try to reproduce this :thinking:

i was able to build the “blank” new app fine, next i went to https://buildicon.netlify.app/ to generate a fun little example icon and it worked as expected. i also tried this on an sdk 39 project to match yours.

you can try updating to the latest expo-cli but that is likely not related. it’s quite possible that there is some process running on your computer that is corrupting the png files somehow.

I also tried building a blank app and that ended up working (without updating expo-cli). So whatever the problem is seems to be specific to just the one project! Does that give you any ideas as to what the issue might be? I’ve tried using another computer while also providing various PNGs including one generated from https://buildicon.netlify.app/ but nothing seems to work.

Btw thank you for providing such quick responses. I’m very grateful!

is there any chance your project is being watched by a virus scanner or something that could possibly be modifying the files? can you try building that project from another computer? if that doesn’t work on another computer, try cloning it on that other computer and then replacing the icon

No I do not have any file modifying watchers on the project. I tried cloning the project and the issue still persists. I also tried cloning and building the project onto a different computer and that also resulted in an unsuccessful build.

I tried putting the supposed corrupt app icon into the blank project. When I ran a build on the blank project it worked. That seems to imply that the app icon is not the issue?

can you share your project with me on github? i’m brentvatne on github

I figured it out. I left out the fact that I was using --no-publish which I now know was an incredibly crucial detail. I’m really sorry to have wasted your time. After running expo build:ios without any other options it now works.

1 Like

glad you figured it out! fwiw on eas build that won’t be an issue in the future. we always build the app against whatever code is committed when you trigger the build, without needing to publish it

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