BlackDog Foundry Bookmark This page

XcodeExplorer

XcodeExplorer is a quick and dirty Xcode4 plugin that allows you to watch and filter the various NSNotification events that are triggered as you use Xcode. This is useful if you are writing your own Xcode plugins and want to see how to hook into the Xcode workflow.

Once you install it into your Xcode4 plugins directory, it will create an Explorer menu item from whence you can open the notifications window.

Menu item

Once opened, you can input a comma-seperated list of regular expressions of notification names that want to exclude. By default, it excludes all of the notifications starting with NS.

Empty window

Click on the Start button, and it will start capturing any NSNotifications that are emitted by Xcode. Feel free to navigate around Xcode performing various actions, and click Stop once you are done.

Some captured notifications

The table in the window displays the notifications, and the results of invoking the description method on the notification’s object and userInfo properties. As you can see, the formatting is quite rough and ready, but it should give you a pretty good idea of what sorts of notifications may be available for your plugin.

All articles in this series

2 Comments »

  1. Arka says:

    Thanks for building this – it’s just the thing for newbie plugin developers like myself!

    I’m trying to figure out if there are notifications sent (that I could intercept with a plugin) when Xcode updates the simulated location. XcodeExplorer looks like exactly the tool I need for this – however, I can’t get it running under Xcode 5.0.2. I tried updating the DVTPlugInCompatibilityUUIDs value, but that didn’t help. It builds and installs itself in the plugins directory without any errors, and I don’t see anything in Console when I launch Xcode; however, the explorer menu doesn’t show up.

    Can you offer any tips for debugging? Or, if there is a known compatibility issue, do you have any current plans to update it for 5.0.2?

  2. craig says:

    I just checked in a change that should let it work in 5.0.2. Please give that a go and let me know if you are still having problems.

Leave a Comment »




Categories

Copyright © 2012 BlackDog Foundry