Phonegap & phonegap Build are amazing technologies, unfortunately the documentation does not always tell you want you want to know. Here a compilation of issues I encountered while using phonegap build for the first time & how I solved them.
Black bars only on iPhone 5 (not full size).
I had this issue right from the start while using phonegap build, basically the iphone 5 app was the size of an iphone 4 screen. The only way to fix it is to add a plash screen with the screen size of the iphone 5 in the config.xml like this:
<gap:splash src="splash/ios/Default_iphone5.png" gap:platform="ios" width="640" height="1136" />
While the fix is pretty easy, it is also frightening. It’s really hard to sell a technology to a company where unexplained bugs like this popup. It should have been fixed for a long time & it reinforce the feeling that the tech might not be production ready.
App is not updating while in hydration mode
The hydration mode is suppose to update your app each time you push a new zip on the Build website. While this is a fantastic concept it often fall short. For example, even after I added my splash screen for the black bars bug, my app would not show fullscreen. I had to completely remove the app & re-install it to make this work.
For some reasons(?) it also did not update my app correctly when I added a phonegap plugin for my app. I add again to reinstall my app to see my changes correctly.
The hydration mode works really well when you update the core of your web app, but when using phonegap api’s, adding plugins, changing global app configs, if you have doubt if it has updated correctly, reinstalling generally helps.
Is my app hardware accelerated?
It probably is, it’s enabled by default since sdk version 13.
<preference name="android-targetSdkVersion" value="13" />
Keyboard is hiding content on android.
This is a setting that should by set by default, but basically you need to use this settings in your config.xml
<preference name="android-windowSoftInputMode" value="stateVisible|adjustResize" />
I’m not totally sure but I think I had to reinstall completely the app to make it work, hydration did not work for this. I also had a weird bug where using phonegap v2.9 & using a low level number sdk (below 13) that keyboard would not adjust, I advise using phonegap 3.1 & sdk 14+.
ios build is always at pending or failed
Unfortunately ios building seems to be less stable than the rest, sometimes adobe servers queue up & it takes 10-20 minutes to build the app. The Build website is also not very good at telling you anything about errors that are happening to your app while building, your best bet is to login into the community website & see if anyone is currently facing the same problem as you.
I also had a weird bug when I builded for the first time my ios app. I already had an android app with hydration on & when I added my certificate it would always say build failed, I had to disable hydration to make a successful build. I do not really know why.
Googling for issues often refer you to old versions of phonegap api doc.
Just be careful, check the url where you’re at, I often was referred by google to version 2.7 of the documentation which had not the same options than version 3.1.
I probably lost 2 hours not understanding why some options was not in the documentation, I thought that was some hidden settings or something.
That’s it! Hope it can help you in those frustrating moments with phonegap 😉