As Bee Jay said, you need Xcode, C++, and the CoreAudio framework. There are numerous examples in /Developer/Examples/CoreAudio/AudioUnits. Depending on whether you want to write an effect plug-in (FilterDemo) or an instrument plug-in (SinSynth).
The CoreAudio API is fairly straight forward. The basic steps are 1) initialisation 2) register parameters 3) process each audio frame. The host application, such as Logic, is responsible for drawing the generic parameter view. You can of course provide your own GUI with Cocoa (preferred) or Carbon. The host then 'ticks' your process function for each frame of audio at the song's sample rate. This is where you do your DSP.
I recommend working through Apple's tutorial of a gain effect plug-in here:
http://developer.apple.com/audio/audiounits.html
I have a couple more samples here which use Xcode 2.4.1 and pass the latest auval.
http://www.twofloorsrecords.com/?page_id=49