Monday, January 4, 2010

Enable syslog in your iphone

I got into this when trying to understand how internally the iphone is enabling the location daemon
Source: Enable syslog on iphone

You can no longer debug output in 2.0 by launching your app from SSH. So how do you get those NSLog outputs? The answer is to enable the syslog and then you can use tail -f /var/log/syslog to see all the output. Here is how:

1. edit /System/Library/LaunchDaemons/com.apple.syslogd.plist
2. find the /usr/…/syslogd line
3. below that add:
-bsd_out
1
4. Type: echo '*.* /var/log/syslog' > /etc/syslog.conf (open /etc/syslog.conf and make sure that you have *.* /var/log/syslog without any extra characters)
5. Type: launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
6. Type: launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist

And now you have an awesome /var/log/syslog that contains NSLogs (and I think stderr) from your application.

Remember, to see the output open SSH and type: tail -f /var/log/syslog to see all the output.

Source of these info: TheBigBoss website, and originally from Saurik.

Here’s an output example… frack!

Mar 23 09:56:37 iPhosk com.apple.locationd[198]: 259491397.100,static void CLFileUpdate::onDownloaded(CLFileDownload*, bool, void*): could not download from https://iphone-services.apple.com/clbl/unauthorizedApps to /var/root/Library/Caches/locationd/clients-b.plist.temp

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home