expo / expo

An open-source framework for making universal native apps with React. Expo runs on Android, iOS, and the web.
https://docs.expo.dev
MIT License
29.64k stars 4.7k forks source link

ITMS-90013: Corrupt Image File - The image file 'AppIcon60x60@2x.png' appears to be corrupt. #28701

Closed gmartpad closed 1 week ago

gmartpad commented 1 week ago

Minimal reproducible example

https://github.com/expo/expo

What platform(s) does this occur on?

iOS

Did you reproduce this issue in a development build?

Yes

Summary

Went to change the style of a component, and then when I uploaded the .ipa file built with EAS build, App Store Connect gave me this warning:

Hello, We noticed one or more issues with a recent delivery for the following app: App Name Version 1.11.11 Build 1.11.11 Please correct the following issues and upload a new binary to App Store Connect. ITMS-90013: Corrupt Image File - The image file 'AppIcon60x60@2x.png' appears to be corrupt. Apple Developer Relations

Don't have an image with that name in my assets, and in the build that manifested this error was built in the evening of May 8, 2024.

In the beginning of the same day, I made another iOS build, and the error didn't manifest itself. Considering I didn't add any asset, and only changed the style of 1 component, I think this may be something wrong with EAS build.

package.json (or what I can show you of it, at least)

"dependencies": {
    "@amplitude/analytics-react-native": "^1.4.5",
    "@babel/core": "^7.19.3",
    "@emotion/core": "^11.0.0",
    "@emotion/native": "^11.0.0",
    "@emotion/react": "^11.9.0",
    "@emotion/styled": "^11.8.1",
    "@expo/config-plugins": "^7.8.0",
    "@expo/metro-config": "~0.17.1",
    "@expo/vector-icons": "^14.0.0",
    "@expo/webpack-config": "~19.0.1",
    "@gorhom/bottom-sheet": "^4.5.1",
    "@mdi/react": "^1.6.0",
    "@react-native-async-storage/async-storage": "1.21.0",
    "@react-native-community/masked-view": "^0.1.11",
    "@react-native-community/netinfo": "11.1.0",
    "@react-native-picker/picker": "2.6.1",
    "@react-navigation/bottom-tabs": "^6.3.1",
    "@react-navigation/drawer": "^6.4.1",
    "@react-navigation/native": "^6.0.10",
    "@react-navigation/native-stack": "^6.9.26",
    "@react-navigation/stack": "^6.2.1",
    "@react-spring/native": "^9.4.5",
    "@types/node": "^18.0.2",
    "@woli/react-fluid": "0.0.9",
    "axios": "^0.27.2",
    "axios-cancel": "^0.2.2",
    "chroma-js": "^2.4.2",
    "color": "^4.2.3",
    "dotenv": "^16.0.1",
    "expo": "^50.0.18",
    "expo-application": "~5.8.4",
    "expo-asset": "~9.0.2",
    "expo-blur": "~12.9.2",
    "expo-camera": "~14.1.3",
    "expo-clipboard": "~5.0.1",
    "expo-constants": "~15.4.6",
    "expo-dev-client": "~3.3.11",
    "expo-device": "~5.9.4",
    "expo-file-system": "~16.0.9",
    "expo-font": "~11.10.3",
    "expo-image-picker": "~14.7.1",
    "expo-intent-launcher": "~10.11.0",
    "expo-linear-gradient": "~12.7.2",
    "expo-linking": "~6.2.2",
    "expo-media-library": "~15.9.2",
    "expo-notifications": "~0.27.7",
    "expo-screen-orientation": "~6.4.1",
    "expo-secure-store": "~12.8.1",
    "expo-sharing": "~11.10.0",
    "expo-splash-screen": "~0.26.5",
    "expo-sqlite": "~13.4.0",
    "expo-updates": "~0.24.12",
    "form-data": "^4.0.0",
    "formik": "^2.2.9",
    "global": "^4.4.0",
    "html-entities": "^2.3.3",
    "jimp": "^0.16.1",
    "lodash": "^4.17.21",
    "moment": "^2.29.3",
    "native-base": "3.4.5",
    "prop-types": "^15.8.1",
    "qs": "^6.10.3",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-native": "0.73.6",
    "react-native-circular-progress": "^1.3.7",
    "react-native-color-matrix-image-filters": "6.0.9",
    "react-native-elements": "^3.4.2",
    "react-native-error-boundary": "^1.1.13",
    "react-native-flash-message": "^0.4.1",
    "react-native-gesture-handler": "~2.14.0",
    "react-native-iphone-x-helper": "^1.3.1",
    "react-native-keyboard-aware-scroll-view": "^0.9.5",
    "react-native-loading-spinner-overlay": "^3.0.0",
    "react-native-masked-text": "^1.13.0",
    "react-native-pager-view": "6.2.3",
    "react-native-paper": "^5.7.2",
    "react-native-picker-select": "^8.0.4",
    "react-native-progress": "^5.0.0",
    "react-native-reanimated": "~3.6.2",
    "react-native-reanimated-carousel": "^3.5.1",
    "react-native-render-html": "^6.3.4",
    "react-native-safe-area-context": "4.8.2",
    "react-native-safe-area-view": "^1.1.1",
    "react-native-screens": "~3.29.0",
    "react-native-svg": "14.1.0",
    "react-native-svg-transformer": "^1.0.0",
    "react-native-tab-view": "3.1.1",
    "react-native-text-ticker": "^1.14.0",
    "react-native-vector-icons": "^10.0.3",
    "react-native-web": "~0.19.6",
    "react-native-webview": "13.6.4",
    "react-redux": "^8.0.2",
    "react-transition-group": "^4.4.2",
    "redux": "^4.2.0",
    "redux-persist": "^6.0.0",
    "redux-thunk": "^2.4.1",
    "styled-components": "^5.3.5",
    "yup": "^0.32.11"
  },
  "devDependencies": {
    "@babel/preset-typescript": "^7.17.12",
    "@react-native-community/cli-debugger-ui": "^8.0.0",
    "@types/chroma-js": "^2.1.4",
    "@types/qs": "^6.9.7",
    "@types/styled-components-react-native": "^5.2.0",
    "babel-plugin-inline-dotenv": "^1.7.0",
    "babel-plugin-module-resolver": "^5.0.0",
    "babel-plugin-tsconfig-paths-module-resolver": "^1.0.3",
    "babel-preset-expo": "^10.0.0",
    "cross-env": "^7.0.3",
    "eslint": "^8.16.0",
    "eslint-config-universe": "^11.0.0",
    "eslint-plugin-prettier": "^4.0.0",
    "eslint-plugin-react-hooks": "^4.5.0",
    "husky": "^8.0.1",
    "lint-staged": "^13.0.3",
    "metro-react-native-babel-transformer": "^0.77.0",
    "prettier": "^2.6.2",
    "react-devtools": "^4.24.7",
    "react-native-bundle-visualizer": "^3.1.1",
    "redux-devtools-extension": "^2.13.8",
    "ts-node": "^10.9.1",
    "typescript": "^5.1.3"
  },
  "resolutions": {
    "electron": "^11.0.1",
    "@types/react": "^18.0.15"
  },

eas.json (or what I can show you of it, at least)

"build": {
    "production": {
      "env": {
        ...
      }
    },

    "prod-android": {
      "channel": "prod-android",
      "extends": "production",
      "android": {
        "image": "latest"
      }
    },
    "prod-ios": {
      "channel": "prod-ios",
      "extends": "production",
      "ios": {
        "image": "latest"
      }
    }
  },

Environment

expo-env-info 1.2.0 environment info: System: OS: macOS 14.4 Shell: 5.9 - /bin/zsh Binaries: Node: 18.17.0 - ~/.nvm/versions/node/v18.17.0/bin/node Yarn: 1.22.22 - /opt/homebrew/bin/yarn npm: 9.6.7 - ~/.nvm/versions/node/v18.17.0/bin/npm SDKs: iOS SDK: Platforms: DriverKit 23.4, iOS 17.4, macOS 14.4, tvOS 17.4, visionOS 1.1, watchOS 10.4 IDEs: Android Studio: 2023.2 AI-232.10227.8.2321.11479570 Xcode: 15.3/15E204a - /usr/bin/xcodebuild npmPackages: @expo/metro-config: ~0.17.1 => 0.17.7 @expo/webpack-config: ~19.0.1 => 19.0.1 babel-preset-expo: ^10.0.0 => 10.0.2 expo: ^50.0.18 => 50.0.18 react: 18.2.0 => 18.2.0 react-dom: 18.2.0 => 18.2.0 react-native: 0.73.6 => 0.73.6 react-native-web: ~0.19.6 => 0.19.9 Expo Workflow: managed

Expo Doctor Diagnostics

✔ Check Expo config for common issues ✔ Check package.json for common issues ✔ Check native tooling versions ✔ Check dependencies for packages that should not be installed directly ✔ Check for common project setup issues ✔ Check npm/ yarn versions ✔ Check for issues with metro config ✔ Check that packages match versions required by installed Expo SDK ✔ Check that native modules do not use incompatible support packages ✔ Check for legacy global CLI installed locally ✔ Check Expo config (app.json/ app.config.js) schema ✔ Check that native modules use compatible support package versions for installed Expo SDK

Didn't find any issues with the project!

next6leo commented 1 week ago

hi this happen to me as well using Managed build eas build local.

is working now when i resubmit guess is apple issues

rodperottoni commented 1 week ago

Started happening to my company's app this morning. Nothing at all changed since our last uploaded build yesterday - no icon updates, no package.json alterations, zero, nada. Currently unable to upload new app updates 😭

rodperottoni commented 1 week ago

Comparing my last successful build with the ones I have now, I noticed the last successful ones had Expo CLI 6.3.10 included in the "Installed software". Wondering if this has anything to do with it ?

Screenshot 2024-05-09 at 1 12 27 PM
rodperottoni commented 1 week ago

A few comparisons between my last accepted build & the ones that are now failing:

CacaoRick commented 1 week ago

Now it can be uploaded normally, there may have been a problem on Apple's end just now (I didn't make any changes).

Caspar-Fireant commented 1 week ago

Can also confirm this just started happening randomly, no changes to any image files across the project.

gmartpad commented 1 week ago

Now it can be uploaded normally, there may have been a problem on Apple's end just now (I didn't make any changes).

Tested it right now. Yep, might have been a problem on Apple's end.

aidankinzett commented 1 week ago

We've also just started having this error today. I'm trying a rebuild now, I can't upload it again since it says that the bundle version has already been used.

Dung1128 commented 1 week ago

I just encountered this error, now everything is back to normal even though I didn't modify anything

Dung1128 commented 1 week ago

We've also just started having this error today. I'm trying a rebuild now, I can't upload it again since it says that the bundle version has already been used.

You need to upgrade the build version

Cryptodev9 commented 1 week ago

Still having the issue, Hello,

We noticed one or more issues with a recent delivery for the following app:

Nait Version 1.0.4 Build 1 Please correct the following issues and upload a new binary to App Store Connect.

ITMS-90013: Corrupt Image File - The image file 'AppIcon60x60@2x.png' appears to be corrupt.

Apple Developer Relations

Cryptodev9 commented 1 week ago

I am just doing it on app.json, I have the icon here, the appstore image is not corrupted at all, it works on android why is there an issue with ios 09 05 2024_05 54 38_REC

aidankinzett commented 1 week ago

just confirming that the new build is still facing this issue too

rodperottoni commented 1 week ago

my builds are still failing - interesting that it started working again for some of you. 🤔

Cryptodev9 commented 1 week ago

who said that its working

CacaoRick commented 1 week ago

I upload fail in 09:54 (UTC+8), receive email from Apple with same error. But success in 11:18 with no code (and no icons) change.

This AppIcon60x60@2x.png is unnecessary because the current version can be set to use a Single Size icon for iOS app by providing only App-Icon-1024x1024@1x.png. I see that the project prebuilt by Expo has set up App-Icon-1024x1024@1x.png and Single Size settings, but Apple still rejects my upload (in 09:54 (UTC+8).

willswinson commented 1 week ago

Not React (native here) but found this thread as I was having the same issue across multiple apps. Seems to have resolved automatically for me, so Apple issue probably.

Cryptodev9 commented 1 week ago

Yes, finally it works for me, I can sleep. I am using expo, the icon is in my app.json. it accepted my upload

sanghyeok-kim commented 1 week ago

I had the same issue and failed to upload the Testflight, Tried again an hour later with the same build without any changes and it worked.

Yes, It seems to be a random issue on Apple's end.

kadikraman commented 1 week ago

Apple have confirmed it was an issue on their end and should be fixed now.

To fix this, rebuild your project with a new build number (unfortunate, but the build number was counted even though it errored) and resubmit.

next6leo commented 1 week ago

Apple keep giving trouble to us developer.... [ITMS-91053: Missing API declaration - Privacy] is also one of it.

deusdete commented 1 week ago

I had the same problem 8 hours ago and tried again today, everything went well.

shahbaz9118 commented 1 week ago

I faced the same problem 10 hours ago and tried again today without any changes except build number, everything went well and it deployed successfully.

luckygogreen commented 1 week ago

I encountered this issue last night. I haven't made any changes yet. I'll try resubmitting it and come back to share if it's successful.