I recently decided to compile Phaser games to iOS and publish to The App Store. The games were already published on Google Play Store for Android and worked without any issues. I faced few issues after compiling Phaser games for iOS. The first issue which I faced was the game crashing randomly on iOS. After doing further research I found this article on Intel XDK forum which turned out to be the reason for crash. The games were written a while back with older versions of Phaser and I did not get time to upgrade and test this with newer versions of Phaser (CE and higher) so I decided to try the fix specified in this thread and voila, it worked just fine.
Here is the code which I borrowed from the thread
var mygame;
window.onload = function () {
mygame = new Phaser.Game(window.innerWidth, window.innerHeight, Phaser.AUTO, "mygame");
mygame.state.add("Boot", Boot);
mygame.state.add("Loading", Loading);
mygame.state.add("MainMenu", MainMenu);
mygame.state.add("TheGame", TheGame);
mygame.state.start("Boot");
function onPause() {
if(!mygame.paused) {
mygame.gamePaused();
}
}
function onResume() {
setTimeout(function() {
if(mygame.paused) {
mygame.gameResumed();
}
}, 0);
}
document.addEventListener('pause', onPause, false);
document.addEventListener('resume', onResume, false);
}