Yes, although it can also start a dev client if you have that installed on the simulator.
This runs npx expo prebuild -p ios
in the background, which generates the native iOS project and builts it with Xcode on your machine. If you want to stick with the managed workflow you should clean up the changes made by the prebuild
afterwards and not commit the ios
or android
directories.
See:
You can definitely build like this, but if you don’t have Xcode or you don’t want to have to clean up after a prebuild you can use EAS Build to build a dev client and use that like Expo Go.
Expo Go includes all native dependencies that are included in the Expo SDK. Reanimated
and react-native-gesture-handler
are included in the Expo SDK, so these will work in Expo Go.
The native code for things like react-native-fs
, however, are not included in the Expo SDK. Expo has a similar FileSystem
module, but if Stream Chat specifically needs react-native-fs
then that won’t help you.
Normally if the native code is missing you’d get an error like:
null is not an object (evaluating ...
Based on the peer dependencies listed in the Stream Chat installation instructions you will need to use npx expo run
or build a dev client to use instead of Expo Go, because some of those dependencies do have native code that is not part of the Expo SDK.
On Android this is basically just: eas build -p android --profile development
and then side load the resulting APK. On iOS you need to tell it to build for the simulator in the build profile in eas.json
.