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"
}
}
}