I am creating expo app which is working fine on expo go on both ios and android. I am getting no error while running the app but when I submit app on app store testflight and test through it, it is showing no content just a blank screen after splash. I runs both cmd npx expo start
and npx expo start --no-dev --minify
in boht case app is working correctly.
Anyone can you please solve this issue
my app.json
{
"expo": {
"name": "Pixie",
"slug": "Pixie",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/images/icon.png",
"scheme": "myapp",
"userInterfaceStyle": "automatic",
"splash": {
"image": "./assets/images/splash.png",
"resizeMode": "cover"
},
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.shahzadsiddique.Pixie"
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/images/adaptive-icon.png",
"backgroundColor": "#ffffff"
},
"package": "com.shahzadsiddique.Pixie"
},
"web": {
"bundler": "metro",
"output": "static",
"favicon": "./assets/images/favicon.png"
},
"plugins": [
"expo-router",
"expo-font"
],
"experiments": {
"typedRoutes": true
},
"extra": {
"eas": {
"projectId": "90241c2e-a05b-4014-9162-0a482e9313e8"
}
},
"runtimeVersion": {
"policy": "appVersion"
},
"updates": {
"url": "https://u.expo.dev/90241c2e-a05b-4014-9162-0a482e9313e8"
},
"newArchEnabled": true
}
}
package.json
{
"name": "pixie",
"main": "expo-router/entry",
"version": "1.0.0",
"scripts": {
"start": "expo start",
"reset-project": "node ./scripts/reset-project.js",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"test": "jest --watchAll",
"lint": "expo lint"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"@expo/vector-icons": "^14.0.2",
"@hookform/resolvers": "^3.9.1",
"@react-native-picker/picker": "^2.9.0",
"@react-navigation/native": "^7.0.0",
"@supabase/supabase-js": "^2.46.1",
"@tanstack/react-query": "^5.59.19",
"expo": "^52.0.7",
"expo-constants": "~17.0.3",
"expo-font": "~13.0.1",
"expo-image-picker": "~16.0.2",
"expo-linking": "~7.0.2",
"expo-router": "~4.0.6",
"expo-splash-screen": "~0.29.11",
"expo-status-bar": "~2.0.0",
"expo-system-ui": "~4.0.3",
"expo-web-browser": "~14.0.1",
"react": "18.3.1",
"react-dom": "18.3.1",
"react-hook-form": "^7.53.1",
"react-native": "0.76.2",
"react-native-flash-message": "^0.4.2",
"react-native-safe-area-context": "4.12.0",
"react-native-screens": "^4.0.0",
"react-native-svg-transformer": "^1.5.0",
"react-native-tab-view": "^3.5.2",
"react-native-vector-icons": "^10.2.0",
"react-native-web": "~0.19.13",
"yup": "^1.4.0"
},
"devDependencies": {
"@babel/core": "^7.20.0",
"@types/jest": "^29.5.12",
"@types/react": "~18.3.12",
"@types/react-native-push-notification": "^8.1.4",
"@types/react-native-vector-icons": "^6.4.18",
"@types/react-test-renderer": "^18.0.7",
"jest": "^29.2.1",
"jest-expo": "~52.0.2",
"react-test-renderer": "18.2.0",
"typescript": "~5.3.3"
},
"private": true
}
using patch package will solve the issue, in my case I just add
"postinstall": "patch-package"
in package.json
script object. and and then run npm i patch-package
After the install finish I create the build and upload it to testflight and it works.