1. Jens Alfke
  2. Murky


Clone wiki

Murky / Setup



  • Mac OS X 10.5 or later
  • The MYUtilities library, which is used by Murky.
  • The BWToolkit Interface Builder plugin.

How To Get It

  • hg clone http://bitbucket.org/snej/murky/ Murky
  • hg clone http://bitbucket.org/snej/myutilities/ MYUtilities
  • hg clone http://bitbucket.org/bwalkin/bwtoolkit/ BWToolkit
    (actually you can put MYUtilities and BWToolkit anywhere)

How To Configure It

Before the first time you build Murky, you'll need to tell Xcode where the MYUtilities sources and BWToolkit are. You do this by setting up a named 'Source Tree':

  1. Open Xcode's Preferences panel
  2. Click the "Source Trees" icon at the top
  3. Click the "+" button to add a new item to the list for MYUtilities
  4. Fill in the Setting Name as "MYUtilities", the Display Name also as "MYUtilities", and the Path as the absolute filesystem path to where you downloaded MYUtilities to. Do not use a "~" (tilde) in this path! The compiler won't understand it and will give you errors.
  5. Repeat steps 5-6 to add a new item named "BWToolkit", whose path points to where you put BWToolkit.

(If you've already configured MYUtilities for another project, such as MYNetwork, then you don't need to do this again.)

You'll also need to install the BWToolkit Interface Builder plugin:

  1. Open BWToolkit.xcodeproj and build it in 'Release' mode.
  2. In the Finder, open BWToolkit's Release build output folder.
  3. Double-click "BWToolkit.ibplugin", to install it into IB.

How To Build It

Now you're golden. From now on you can just open Murky.xcodeproj and press the Build button.


Murky uses the LogTo function, from MYUtilities, instead of NSLog. This means that logging is off by default, but various types of logging can be turned on independently in a Debug build.

To enable logging in general, set the user default Log to YES. You can do this persistently using the defaults write command; but it's very convenient during development to use the Arguments tab in the Xcode Executable Info panel. Just add a new entry to the arguments list, of the form "-Log YES". Now you can check and uncheck that as desired; the change will take effect when relaunching Murky.

Once logging is enabled, you can turn on and off individual categories of logs. For any category "Something", to enable output from calls of the form LogTo(Something, @"..."), set the user default LogSomething to YES, just as above.

Note: The related Warn( ) function always logs to the console, though.