This is a pretty noob question… But for some reason the term “hot code push” isn’t registering with me. Does “hot code push” mean that when new code is pushed to the server, the app in the app store reflects this new version? Or does the meteor app need to be re-built for mobile and submitted to the app store as a new release of the previously submitted app?
I know that any changes to server specific code would inherently be reflected because that’s where the mobile app needs to send http requests, but what about client side code?
For my specific case, I have submitted an app to the iOS store that is currently in review, and I’m using Meteor Up for deploying my app to my production server. If I deploy an updated version to production (where the mobile app was pointed to with the --server option), will end consumers who have downloaded the app see this update?
Latelly I’ve been building a Cordova app for iOS and Android involving barcode reading.
My first try was standing on Meteor free deployment servers (thanks for that) and the hot code push was working as expected.
But now I have move to my own server and I don’t get hot code push anymore. I tried to solve this by installing these two packages autoupdate and reload but it did not solve my issue…
I already did a mobile app with meteor @1.0 and it was auto updating automatically.
Guys, but be careful: This is only valid for your project files, not for your Cordova plugins. If you add a Cordova plugin, you need to release your whole app again via App Store / Play Store.
Also it is possible, that your whole app crashes during a hot-code-push, so the user has to reinstall it again. I recommend you to use the reload-on-resume package to minimize that problem.
@XTA yes I do deploy using build with the server option setted to the server the app is installed on.
Also I do remove the ios and android platform before I build so I don’t get the extra build time on the server.
But since it build the server and webapp by default and I build locally on my computer for the app’s with the server option setted I thought it was ok.
The app is deployed on http://app.allobarcode.com and you can see my source code on github at https://github.com/guidouil/codebarre
and here is my deploy “script” I copy past in shell connected as simple user
rm -rf everqode-source
git clone https://github.com/guidouil/codebarre.git everqode-source
cd everqode-source
meteor remove-platform ios
meteor remove-platform android
meteor build ../builds/. --server http://app.allobarcode.com
cd ../builds/
tar xzvf everqode-source.tar.gz
forever stop everqode
cd
rm -rf everqode
cd builds
mv bundle ../everqode
cd ../everqode/programs/server/
npm install
cd
export MONGO_URL='mongodb://127.0.0.1:27017/everqode'
export PORT=42001
export ROOT_URL='http://app.allobarcode.com/'
forever start --append --uid "everqode" everqode/main.js```
If I read your script correct, it builds the main application for your deployment server. Your apps should be linked to it, so you only have to use this “–server” command for your mobile builds. With the command above, you would link your server application to it’s own location, think that could explain the hot-code-push issue. If you want to set your “main url”, you have to use the environment variable ROOT_URL.