console.log is not working in iOS Phonegap App even after adding the console plugin

cordova, cordova-plugins, ios, javascript

Solution

I have solved this issue by doing these steps

Step 1 :

I Just copy a directory from another cordova project where console.log was working

sudo cp -r DIFF_CORDOVA_PROJECT_PATH/platforms/ios/www/plugins/org.apache.cordova.console CURRENT_CORDOVA_PROJECT_PATH/platforms/ios/www/plugins/

Step 2 :

Add the Code in CURRENT_CORDOVA_PROJECT_PATH/platforms/ios/www/cordova_plugins.js file under module.exports JSON array

{
    "file": "plugins/org.apache.cordova.console/www/console-via-logger.js",
    "id": "org.apache.cordova.console.console",
    "clobbers": [
        "console"
    ]
},
{
    "file": "plugins/org.apache.cordova.console/www/logger.js",
    "id": "org.apache.cordova.console.logger",
    "clobbers": [
        "cordova.logger"
    ]
}

Step 3 :

Adding Meta data on the same cordova_plugins.js file in module.exports.metadata JSON Array :-

"org.apache.cordova.console": "0.2.7"

Problem

I have created a Phonegap iOS App in Cordova CLI . I have added the console plugin and yes deviceready is called successfully but console.log is not working and does not print any thing in XCode log. Plugin Installation :- cordova -v 3.3.1-0.3.1 sudo cordova plugins add org.apache.cordova.console Fetching plugin "org.apache.cordova.console" via plugin registry Starting installation of "org.apache.cordova.console" for ios Preparing ios project org.apache.cordova.console installed on ios. sudo cordova plugins ls [ 'org.apache.cordova.console', 'org.apache.cordova.device', 'org.apache.cordova.dialogs', 'org.apache.cordova.geolocation', 'org.apache.cordova.globalization', 'org.apache.cordova.inappbrowser', 'org.apache.cordova.media', 'org.apache.cordova.network-information', 'org.apache.cordova.splashscreen', 'org.apache.cordova.vibration' ] Java Script :- ``` var app = { initialize: function() { this.bindEvents(); }, bindEvents: function() { document.addEventListener('deviceready', this.onDeviceReady, false); }, onDeviceReady: function() { app.receivedEvent('deviceready'); }, receivedEvent: function(id) { console.log('Device Ready Received'); //It is not working alert("Device ready called"); //It is Working } }; ```

Original source

Related problems