So I might need to eject/detach my project soon since my project now requires downloading files/images and some other features that requires libraries that need to be linked (react-native link).
I created the project with CRNA, and have come to understand that I have 2 options of going about this (eject or detach).
Though I’m abit unsure about the pros and cons of using CRNA eject or Expo detach. What I understand so far is that CRNA eject gives you the option to either use ExpoKit or just use plain react native, while Expo detach ensure ur project is attached with ExpoKit to make life easier in case ur using any Expo APIs in ur project so far.
FIRST DUMB QUESTION:
when the docs says Expo APIs, what is this referring to? is it expo XDE and commands that requires ‘exp’ when run in the terminal? or does it include things like expo BarcodeScanner?
if so I might need to use Expo detach, since I’m very reliant upon the exp build:android and build:ios command and a noob with creating and publishing actual apps.
I understand that ExpoKit manages IOS dependencies using CocoaPods. which means if I was to incorporate libraries that requires react-native link that doesn’t support cocoapods, I have to make the dependencies changes in Xcode myself. Which being the noob that I am might be abit challenging.
So, if I decided to use detach, is there any more downsides of similar nature I should be aware of?
THIRD (possibly dumbest) QUESTION:
after detach/eject, if I’m only ever going to use external lib with
react-native link should I have to worry about the level of maintenance required in Xcode/Android studio environment or I can just continue my project as I have been doing so far and simply use VSCode to edit both ios and android folder when necessary? i.e. adding stuff to manifest and info.plist?
Please keep in mind when answering this that I’m very new to programming world so please don’t make assumptions, consider me a non-programmer
Thanks in advance!