I have been developing an Expo Go app for for a while. I finally got it far enough along to release it to the app store and the play store. All of this went okay.
Now I am making changes and am going to add the react-native-track-player. To do that I can no longer test with expo go. So I must use the expo dev client.
All of the documentation (including Keith’s video) is done from the point of starting a new project. I am looking for the steps to switch from expo go to expo dev client to an existing project. Can anyone point me to documentation as to how to do that?
I could follow Keith’s and the documentation’s pattern and create a new project and then pull everything over but I am reluctant to do that (because of problems this caused in the past). I am worried that if I do that, I am going to lose everything I did to release to the app stores.
OR
I could try to switch my existing project from an expo go and an app store build to an expo dev client and app store build. But again, I am not sure if this will destroy everything I did to build for the app stores. AND I don’t know what steps to follow because all of the documentation is done to a clean brand new project.
Help! Thanks in advance for this.
BTW - I am switching from the Expo Audio to react-native-track-player because of support for remote control (Bluetooth).
That got me to load the app and run the app. It ran fine until I loaded the track player. I also guessed what you meant by “the start of your app.” I put it in App.js at the top. Is that correct?
However, I have a problem with my port of react-native-track-player and I am developing this on my own - don’t have the money to fund lots of debug builds. 29 builds to go. I hope that I can (as the documentation said) not have to rebuild and can just change Javascript code and not have to rebuild. Is that correct?
I am pretty sure these problems are mine:
TypeError: taskProvider() is not a function (it is Object), js engine: hermes
Although I have no idea what that means. I will google it tonight.
You can build on your own machine, too. For iOS you need a Mac, unfortunately, because you need Xcode and Apple only makes that for macOS. For Android you can build on macOS or Linux (and I think it should also work on Windows if you run the build in WSL.) You can build as many times as you like on your own machine for free.
Yes, that’s correct. A development build is basically a custom version of Expo Go, except that it has all of your dependencies (e.g. react-native-track-player) built-in. So as long as you only change JavaScript code, you do not have to create a new dev build.
I don’t know off hand what is causing that error, but basically it’s saying you have an object called taskProvider and you’re trying to “call” it as if it’s a function.