Questions and advices about EAS Build and Expo build

I’m currently working on an app with AWS Amplify. I near to the end of this project and during the last days, I tried to build my app to test on iOS simulator and TestFlight.

Firstly, I tried with EAS build like documentation suggest. But after many tries, my app always crashed after the launch.

To find the problem, I created a simple project with just Amplify authentication and the same Expo SDK version of my project (SDK 44). However, there is always the crash problem.

On StackOverflow, i found that it could be caused by my react-native-reanimated version (React-Navigation), I upgrade my SDK version to 45 to resolve this problem. With this change, the app doesn’t crash. I thought it will finally good, but unfortunately, i can’t authenticating in the app. I supposed a problem with .gitignore and aws-export.js. However, I remove all Amplify file from .gitignore. So, it is maybe a problem with aws-amplify version.

I stopped my experiment on EAS Build and I try Expo classic build just to see if there was a difference.

When I use expo build, there is no problem with my app and it works perfectly, like in Expo Go.

Now i’m caught in the middle and I don’t know what to do. On one hand, I can use expo classic build to generate an operational app but with no longer support after January 2023. On the other hand, I can’t generate my app with EAS build but I know it will necessarily soon.

So my questions are:

  • Should I update my project to SDK 45 and do everything that is possible to make my app works, or should I stay with the SDK 44, build with expo build, and take the risk of not being able to build my application anymore ?

  • Which leads to my second question, could I still generate my app with expo build locally after January 2023 ?

These questions are a little bit general, but I’m a beginner with React Native/Expo and I really need some advices.

Thanks in advance to everyone who take the time to answer.

Here is my config (Managed Workflow, eas-cli/0.54.1):

{
  "name": "my-app",
  "version": "0.1.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": {
    "@eva-design/eva": "^2.1.1",
    "@ptomasroos/react-native-multi-slider": "^2.2.2",
    "@react-native-async-storage/async-storage": "~1.15.0",
    "@react-native-community/masked-view": "^0.1.11",
    "@react-native-community/netinfo": "7.1.3",
    "@react-native-community/slider": "4.1.12",
    "@react-navigation/bottom-tabs": "^6.3.1",
    "@react-navigation/native": "^6.0.10",
    "@react-navigation/stack": "^6.2.1",
    "@ui-kitten/components": "^5.1.2",
    "aws-amplify": "^4.3.19",
    "aws-amplify-react-native": "^6.0.4",
    "expo": "~44.0.0",
    "expo-device": "~4.1.0",
    "expo-haptics": "~11.1.0",
    "expo-linear-gradient": "~11.0.3",
    "expo-notifications": "~0.14.0",
    "expo-status-bar": "~1.2.0",
    "expo-updates": "~0.11.7",
    "pinar": "^0.12.1",
    "react": "17.0.1",
    "react-dom": "17.0.1",
    "react-native": "0.64.3",
    "react-native-animatable": "^1.3.3",
    "react-native-gesture-handler": "~2.1.0",
    "react-native-qrcode-svg": "^6.1.2",
    "react-native-reanimated": "~2.3.1",
    "react-native-safe-area-context": "3.3.2",
    "react-native-svg": "12.1.1",
    "react-native-toast-message": "^2.1.5",
    "react-native-vector-icons": "^9.1.0",
    "react-native-web": "0.17.1",
    "victory-native": "^36.3.2"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9"
  },
  "private": true
}

After some researches and tries, I found that my issue with AWS Amplify on EAS Build was caused by a
missing package.

I built with EAS build and my app seems to work with Amplify on an iOS simulator now.

However, I’m still interested to know if we will be able to build with classic build after January 2023.

1 Like

I have my doubts. It won’t be supported, so if something breaks they will not be that likely to fix it. Also, if I understand correctly, the way that expo build works is difficult to maintain, so it seems likely to break if they are not maintaining it anymore.

1 Like