I used the command eas build -p ios to generate a build for my app, but when I start the app I get a white screen. when running the expo-doctor command everything seems to be normal. I already updated Expo and migrated to eas recently. The AppStore test team reported this error to me, I don’t have a macbook to test the compilation. Any tips?
package.json
{
“name”: “teviapp”,
“version”: “1.0.0”,
“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”
},
“dependencies”: {
“@expo-google-fonts/inter”: “^0.2.2”,
“@expo-google-fonts/rajdhani”: “^0.2.2”,
“@react-native-async-storage/async-storage”: “1.18.2”,
“@react-navigation/material-top-tabs”: “^6.2.3”,
“@react-navigation/stack”: “^6.2.3”,
“@sentry/react-native”: “5.5.0”,
“axios”: “^0.27.2”,
“date-fns”: “^2.29.2”,
“expo”: “^49.0.0”,
“expo-application”: “~5.3.0”,
“expo-camera”: “~13.4.2”,
“expo-constants”: “~14.4.2”,
“expo-device”: “~5.4.0”,
“expo-font”: “~11.4.0”,
“expo-linear-gradient”: “~12.3.0”,
“expo-navigation-bar”: “~2.3.0”,
“expo-splash-screen”: “~0.20.5”,
“expo-status-bar”: “~1.6.0”,
“expo-system-ui”: “~2.4.0”,
“expo-updates”: “~0.18.12”,
“lottie-react-native”: “5.1.6”,
“react”: “18.2.0”,
“react-dom”: “18.2.0”,
“react-native”: “0.72.4”,
“react-native-gesture-handler”: “~2.12.0”,
“react-native-iphone-x-helper”: “^1.3.1”,
“react-native-paper”: “^4.12.4”,
“react-native-shimmer-placeholder”: “^2.0.9”,
“react-native-tab-view”: “^3.1.1”,
“react-native-vector-icons”: “^9.2.0”,
“react-native-web”: “~0.19.6”,
“react-native-webview”: “13.2.2”
},
“devDependencies”: {
“@babel/core”: “^7.20.0”,
“@types/react”: “~18.2.14”,
“typescript”: “^5.1.3”
},
“private”: true
}
my app.tsx
import React,{useEffect,useState,useCallback}from 'react';
import * as Font from 'expo-font';
import Routes from './src/routes';
import { StatusBar } from 'expo-status-bar';
import * as SplashScreen from 'expo-splash-screen';
import {View,StyleSheet}from 'react-native';
import { AuthProvider } from './src/context/authContext';
import {NavigationContainer}from '@react-navigation/native';
import {Inter_600SemiBold,Inter_400Regular} from '@expo-google-fonts/inter';
import {Rajdhani_300Light,Rajdhani_500Medium}from '@expo-google-fonts/rajdhani';
import { LogBox } from 'react-native';
import {checkUpdate} from './src/global/premisses/premisses'
export default function App() {
LogBox.ignoreLogs([
"Sending"
])
const [appIsReady, setAppIsReady] = useState(false);
useEffect(() => {
async function prepare() {
try {
// await SplashScreen.preventAutoHideAsync();
await Font.loadAsync({
Inter_600SemiBold:Inter_600SemiBold,
Inter_400Regular:Inter_400Regular,
Rajdhani_300Light:Rajdhani_300Light,
Rajdhani_500Medium:Rajdhani_500Medium
});
await checkUpdate()
} catch (e) {
console.log(e)
} finally {
setAppIsReady(true);
}
}
prepare();
}, []);
const onLayoutRootView = useCallback(async () => {
if (appIsReady) {
await SplashScreen.hideAsync();
}
}, [appIsReady]);
if (!appIsReady) {
return <></>
}
return (
<NavigationContainer>
<AuthProvider>
<View onLayout={onLayoutRootView} style={styles.container} >
<StatusBar
style='dark'
/>
<Routes/>
</View>
</AuthProvider>
</NavigationContainer>
);
}
const styles = StyleSheet.create({
container:{
flex:1,
}
});