21
votes

With a fresh download of Cordova 2.9 and the Cordova CLI, I created Hello World application via the CLI. I also added the iOS platform via the CLI. Looking in the index.js file (within www/js), there is a javascript object which contains the function that fires onDeviceReady, and a function inside it, which contains a console.log which should output "Received Event: deviceready".

After running this app from Xcode in the iOS 6.1 simulator, there is no output from the console.log in Xcode's debug console. I looked at the cordova.js file and noticed the CLI platform add utility added 3.0 (ran this yesterday, before the 3.0 release), but I tried running the app with cordova-2.9.0.js as well.

Anyway, I haven't been able to get a console.log in my own application or the Hello World app to display in Xcode's console with cordova 2.9 or 3. My Xcode console is set to All Output. Is this an error with the release? From all the googling I've been doing, it seems Cordova has had on and off support of console.log depending on the version and I don't know where it's supposed to be now. Thanks for your help.

4

4 Answers

35
votes

The console functionality is now implemented as a plugin, which you need to manually add to your project:

$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git
15
votes

try to add Debug Console plugin to your project by running this command:

$ cordova plugin add org.apache.cordova.console
1
votes

The problem is because of the command line utility. There are two ways to create a project with the PhoneGap/Cordova CLI - Use the bash scripts that come with PhoneGap folder you download, and (2) to install the Cordova CLI.

I used the Cordova CLI, which doesn't use any resources you download, it downloads the latest release of PG - in this case 3.0, which isn't available yet on phonegap.com. It's very possible it may not be a stable release, because the console.log didn't work in the iOS app it created.

I tried using the batch script in the 2.9 folder I downloaded, and it created an app with fully functional console.log(ging).

0
votes

This turned out to be a 2 hour long problem for me so I thought I would share the love! I fresh installed Cordova 3.0 and then installed the official console log plugin with

cordova plugin add cordova-plugin-console

But I still could not get Safari to show logs by going to

Safari > Develop > IOS simulator > index.html

So I opened up Xcode and checked the system log File > New Log Window > system.log

...system.log is on the left hand side of the popup under the Files section.

There I noticed that there was a log reading

Oct 14 01:12:57 Bens-MacBook-Pro.local ios-sim[37222]: stderrPath:     
/Users/benconant/Dev/FirstCordovaApp/platforms/ios/cordova/console.log

so I ran

tail -F /Users/benconant/Dev/FirstCordovaApp/platforms/ios/cordova/console.log

in a new terminal window and boom ... got my logs!

Still have no idea how to get them from Safari :( Would welcome any hints at how to make that happen. Good luck ... this was/is a ruff one.