"Invalid binary" on App store connect

I found the error “Invalid binary” on App store connect and got an email as below.

Mainly, it suggest the problem with bitcode and dynamic libraries but I don’t know the quick solution.

I confirmed the latest xcode 12.5 is used in EAS build.
What should I do for the error?

Dear Developer,

We identified one or more issues with a recent delivery for your app, “RoundsMap” 1.3.3 (1.3.5). Please correct the following issues, then upload again.

ITMS-90562: Invalid Bundle - One or more dynamic libraries that are referenced by your app are not present in the dylib search path.

ITMS-90562: Invalid Bundle - There’s an issue with the app’s bitcode compilation. Rebuild the app using the current public (GM) version of Xcode and upload it again.

Best regards,

The App Store Team

package.json

{

“main”: “node_modules/expo/AppEntry.js”,

“scripts”: {

"start": "expo start",

"android": "expo start --android",

"ios": "expo start --ios",

"web": "expo start --web",

"eject": "expo eject",

"predeploy": "expo build:web",

"deploy-hosting": "npm run predeploy && firebase deploy --only hosting",

"test": "jest"

},

“dependencies”: {

"@expo/react-native-action-sheet": "^3.9.0",

"@react-native-community/masked-view": "0.1.10",

"@react-native-mapbox-gl/maps": "^8.2.1",

"@react-navigation/bottom-tabs": "5.11.15",

"@react-navigation/drawer": "^5.12.5",

"@react-navigation/native": "^5.9.4",

"@react-navigation/stack": "^5.14.5",

"@stripe/stripe-react-native": "0.1.4",

"@turf/turf": "^6.4.0",

"@types/firebase": "^3.2.1",

"@types/react-modal": "^3.12.0",

"algoliasearch": "^4.10.3",

"aws-sdk": "^2.939.0",

"expo": "^42.0.0",

"expo-apple-authentication": "~3.2.1",

"expo-application": "~3.2.0",

"expo-auth-session": "~3.3.1",

"expo-av": "~9.2.3",

"expo-clipboard": "~1.1.0",

"expo-constants": "~11.0.1",

"expo-crypto": "~9.2.0",

"expo-dev-client": "^0.4.5",

"expo-device": "~3.3.0",

"expo-document-picker": "~9.2.4",

"expo-google-app-auth": "^8.2.2",

"expo-google-sign-in": "~9.2.1",

"expo-image-manipulator": "~9.2.2",

"expo-image-picker": "~10.2.2",

"expo-localization": "~10.2.0",

"expo-location": "~12.1.2",

"expo-media-library": "~12.1.2",

"expo-random": "~11.2.0",

"expo-secure-store": "~10.2.0",

"expo-sharing": "~9.2.1",

"expo-status-bar": "~1.0.4",

"expo-updates": "~0.8.2",

"firebase": "8.2.3",

"i18n-js": "^3.8.0",

"intl": "^1.2.5",

"mapbox-gl": "^2.3.1",

"react": "16.13.1",

"react-dom": "16.13.1",

"react-firebaseui": "^5.0.2",

"react-map-gl": "^6.1.16",

"react-modal": "^3.14.3",

"react-native": "https://github.com/expo/react-native/archive/sdk-42.0.0.tar.gz",

"react-native-appearance": "~0.3.3",

"react-native-chart-kit": "^6.11.0",

"react-native-draggable-flatlist": "^2.6.2",

"react-native-gesture-handler": "~1.10.2",

"react-native-gifted-chat": "^0.16.3",

"react-native-maps": "0.28.0",

"react-native-modal": "^12.0.2",

"react-native-paper": "^4.9.2",

"react-native-reanimated": "~2.2.0",

"react-native-safe-area-context": "3.2.0",

"react-native-screens": "~3.4.0",

"react-native-svg": "12.1.1",

"react-native-svg-uri": "^1.2.3",

"react-native-url-preview": "^1.1.9",

"react-native-web": "~0.13.12",

"react-native-webview": "11.6.2",

"react-refresh": "^0.10.0",

"sentry-expo": "^4.0.0"

},

“devDependencies”: {

"@babel/core": "~7.9.0",

"@types/react": "~16.9.35",

"@types/react-instantsearch-native": "^6.3.1",

"@types/react-native": "~0.63.2",

"babel-loader": "^8.2.2",

"filesystem": "1.0.1",

"jest": "23.6.0",

"source-map-support": "0.5.12",

"ts-node": "8.1.0",

"typescript": "~4.0.0"

},

“private”: true

}

eas.json
{

“build”: {

"release": {

  "android": {

    "withoutCredentials": false

  }

},

"base": {

  "android": {

    "withoutCredentials": false

  }

},

"development": {

  "developmentClient": true,

  "distribution": "internal"

}

}

}

app.json

{

“expo”: {

"name": "Rounds",

"slug": "Rounds",

"version": "1.3.3",

"orientation": "portrait",

"icon": "./assets/IMG_0124_icon.png",

"splash": {

  "image": "./assets/IMG_0124_alpha.png",

  "resizeMode": "contain",

  "backgroundColor": "#ffffff"

},

"scheme": "rounds",

"hooks": {

  "postPublish": [

    {

      "file": "sentry-expo/upload-sourcemaps",

      "config": {

        "organization": "mapkid",

        "project": "rounds",

        "authToken": "04d5c12eee8540dfbb0f9473679bbee212fed17fdf304a2683366709da39fac3"

      }

    }

  ]

},

"updates": {

  "fallbackToCacheTimeout": 0

},

"assetBundlePatterns": ["**/*"],

"userInterfaceStyle": "light",

"ios": {

  "usesIcloudStorage": true,

  "infoPlist": {

    "NSCameraUsageDescription": "This app uses the camera to attach a photo to a message",

    "NSPhotoLibraryUsageDescription": "This app uses the photo when sending a message"

  },

  "userInterfaceStyle": "light",

  "buildNumber": "1.3.5",

  "supportsTablet": true,

  "usesAppleSignIn": true,

  "bundleIdentifier": "com.mapkid.rounds",

  "googleServicesFile": "./GoogleService-Info.plist",

  "associatedDomains": ["applinks:<your-domain>"]

},

"android": {

  "intentFilters": [

    {

      "action": "VIEW",

      "data": [

        {

          "scheme": "https",

          "host": "<your-domain>",

          "pathPrefix": "/"

        }

      ],

      "category": ["BROWSABLE", "DEFAULT"]

    }

  ],

  "userInterfaceStyle": "light",

  "adaptiveIcon": {

    "foregroundImage": "./assets/IMG_0124_adaptive.png",

    "backgroundColor": "#FFFFFF"

  },

  "versionCode": 37,

  "googleServicesFile": "./google-services.json",

  "package": "com.mapkid.rounds4",

  "config": {

    "googleMaps": {

      "apiKey": "AIzaSyAlr2iw7w46gYizRS6zQhh9PncScnAi84o"

    }

  }

},

"web": {

  "favicon": "./assets/favicon.png"

}

}

}

The reason was that react-native-mapbox cannot be used in managed workflow.
I just deleted it, thne it works.

Hi @watarumapkid

react-native-mapbox-gl can be used as long as you use EAS Build:

1 Like

Thank you for the info!

I could learn what happens without coding plugin.
Apple does not tell us the idea which module works bad…

I will try your suggestion when I use mapbox in product!

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