Context
- I make a patient-staff communication tool for hospitals (dispatch.care)
- I’m not a real developer, but Expo has let me hack this together pretty easily
- I want to add video calling between patients and staff via Twilio
- My understanding is that I can’t stay on the managed workflow and do this… So reluctantly ejected the app
The Problem
Repro Steps
… with my bare workflow app: shake and reload
Expected Behavior
App reloads newest code
Actual Behavior
App fails to reload and instead shows an additional warning and 2 errors (below)
Warning:
“The native view manager required by name (ExponentCamera) from NativeViewManagerAdapter isn’t exported by @unimodules/react-native-adapter
Error:
undefined is not an object (evaluating ‘_ExponentCameraManager.default.Type’)
Error (this one looks most interesting):
“main” has not been registered. This can happen if:
- Metro (the local dev server) is run from the wrong folder…
- A module failed to load due to an error and
AppRegistry.registerComponent
wasn’t called
Some other things that might be interesting…
- uninstalling the app from tablet and rebuilding works
- expo doctor didn’t find anything wrong
Log I made along the way
- Upgraded to Expo 41
- Expo eject
- Tried to run (run:ios), didn’t work
- Opened with Xcode
- Build worked on simulator… failed to connect to backend
- Set to localhost - worked
- Notifications request didn’t work on simulator - my code failed to catch
- Changed project format to Xcode 12 for no reason
- Tried to run on my phone - failed b/c tablet only
- Tried to run on iPad
- Failed because no team set in xcode
- Signed in
- Assigned team in build settings
- App launched… but no network connection
- Wrote code that adjusted for where to find backend
- Installed Twilio via yarn (GitHub - blackuy/react-native-twilio-video-webrtc: Twilio Video (WebRTC) for React Native)
- Next step is to add to a pod file… but that’s in the .gitignore
- Got advice to remove from gitignore
- Added stuff to pod file
- Set up Twilio account
- Generated a temp token here: https://console.twilio.com/?frameUrl=/console/video/project/testing-tools
- Refactored RoomDetailsStatus
- Made VideoCall.js (component with Twilio stuff)
- Got selfie video working
- … started experiencing this problem