Best flow to update iOS Native Build
I’ve been building an iOS application and there is a world of difference between it will actually look on a device vs what it might look like in a browser with modern build tools. With iOS you must target webkit (safari) and not blink (chrome) which means you really need to try a build on a real device/simulator to sort out quirks/bugs
My issue: I can’t seem to make changes reflect in the app (device & simulator). I confirmed that the symlinked code to www has the changes but for some reason it won’t update on recompile.
The only way I’ve found to “update” the code on the device is to peform a full rebuild from using this command:
$ rm -rf cordova && quasar build ios && quasar wrap cordova && cd cordova && cordova platform add ios
This obviously increases cycle time tremendously, but it’s the only way I can guarantee there’s an update.
For OS (simulator/device) how do you update your code with Quasar without having to perform a full cordova rebuild from scratch each time?
Curious & best,
ps. All these approaches so far have been unsuccessful all fail to update (standard quasar project w/ *.vue files all bundled together)
Save changes, re-compile: [fails, no update to compiled app]
Save changes, re-compile, delete app on device [fails, no update to compiled app]
Save changes, run $ quasar build ios, re-compile, etc [fails]
@vic2017 I can swear someone else had the same problem long time ago. It was something with his machine, but can’t remember what.
What OS, npm, nodejs and cordova versions are you using?
And please confirm that you do a “quasar build” before a “cordova run”.
To speed up development, temporarily change
<content src="index.html" />to
<content src="URL_TO_YOUR_MACHINE:PORT" />. Close app, run
quasar devthen open your app. You’ll get hot module reload on dev code
Hey @rstoenescu –
Thank you not only for this framework but also your tireless support efforts here!
OS: Mac El Capitan (10.11.6 (15G1217))
That content src trick did not work. After compiling, I put a non-existent URL into content src and after re-compiling and opening on the device instead of failing, the dist content was still there. To double-check, I also tore out everything inside index.html in www/ and double-checked it was empty from inside www/ from xCode but the content was still there on the device after recompile, so there must be something screwy with my machine or my process. I also attempted the same with a “fresh” quasar starter app but no luck
"And please confirm that you do a “quasar build” before a “cordova run” – I think I’m doing the equivalent below, but am very curious if there’s a proper process. (I kinda pieced all this together from lots of different docs. This was the only reliable sequence that would build successfully)
These are exactly the steps that are working to create a build:
(From project root)
$ quasar build ios
$ quasar wrap cordova #Said no to crosswalk since iOS
$ cd cordova
$ cordova platform add ios
$ open open cordova/platforms/ios/name.xcodeproj/ in xcode, set up profiles, etc then click RUN and open on iPad
Is that the correct procedure?
To “rebuild”/update an incremental change, I currently run $ rm -rf cordova && quasar build ios && quasar wrap cordova && cd cordova && cordova platform add ios
Curious what you think,
Ps. Thanks again for all your help and dedication to this incredible framework!
Actually n/m, came up with a work-around (used home screen trick and on the device itself and then connect to localhost using LAN IP Address and it’s pretty good )