Being told that my app doesn't have an icon when it clearly does

My app has a 1024x1024 icon with no transparency and is properly linked in the app.json. Yet when I submit my build, I get the error:
I don’t know what else to try.

Something went wrong when submitting your app to Apple App Store Connect

Your iOS app icon is missing or is an invalid format. The icon must be a 1024x1024 PNG image with no transparency.

Check your icon image and icon configuration in app.json.

Learn more: https://docs.expo.dev/guides/app-icons/

I know it’s done properly since the icon shows up in Expo app.

post a link your app icon file

1 Like

And maybe Post also your actual configuration

Here it is!

{
  "name": "{redacted}",
  "companyName": "{redacted}",
  "platforms": ["ios"], 
  "version": "1.0.0",
  "orientation": "portrait",
  "icon": "./app/{redacted}-icon-1024.png",
  "ios": {
    "supportsTablet": false,
    "bundleIdentifier": "org.reactjs.native.example.{redacted}"
  },
  "extra": {
    "eas": {
      "projectId": "{redacted}"
    }
  }
}

where is the app icon file?

It’s at the specified path with 0% transparent parts of the image…

it would be helpful to have it in order to verify. also note that having zero transparent parts doesn’t mean it’s not a png with an alpha channel.

alpha

here is a png with zero transparent pixels but with an alpha channel.

also, judging from your app.json it appears you likely initialized a project with npx react-native init and then started using eas to build it. i suspect you have a bare project? if that’s the case, then you can’t change the values in app.json and have them impact the project (this config is applied during prebuild which never runs on bare projects). run npx expo-env-info in your project and share the output.

Thanks, here’s the output:

npx: installed 2 in 5.539s

expo-env-info 1.0.5 environment info:
System:
OS: macOS 12.2.1
Shell: 5.8 - /bin/zsh
Binaries:
Node: 14.18.1 - /usr/local/bin/node
Yarn: 1.22.15 - /usr/local/bin/yarn
npm: 6.14.15 - /usr/local/bin/npm
Managers:
CocoaPods: 1.11.2 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5
IDEs:
Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild
npmPackages:
expo: ^45.0.6 => 45.0.6
react: ^18.2.0 => 18.2.0
react-dom: ^18.2.0 => 18.2.0
react-native: ^0.69.1 => 0.69.2
npmGlobalPackages:
eas-cli: 2.1.0
Expo Workflow: bare

Really appreciate the context / eyes on it

you have a bare project, which means you are modifying the ios directory directly. you can adopt prebuild if you want to configure in app.json: Adopt Prebuild - Expo Documentation

more info: https://docs.expo.dev/introduction/managed-vs-bare/#bare-workflow

Oh wow, had no idea. Thanks so much!

2 Likes

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