I have a confession – I’m a console logging junkie. I just like to see what’s going on. While that may be great for development, at some point you’ll have to quiet the logging down for production. Really – doing enough logging will slow everything down each time you’ve inserted a console.log() into your code.
Silencing the output to XCode’s debugging console wasn’t immediately obvious. Overriding console.log() in JS by setting it to an empty function worked in the browser for development, but as soon as I loaded the app onto the actual simulator, we were back to square one. Enter the PhoneGap DebugConsole prototype. Override it.
Insert this anywhere after your phonegap.js file loads. It’ll keep things quiet as long as DEBUG = true…
if(DEBUG == true){ DebugConsole.prototype.log = function(message, maxDepth) { } DebugConsole.prototype.warn = function(message, maxDepth) { } window.console = new DebugConsole(); }
There you have it