Cambiar el volumen del sistema OS X mediante programación

¿Cómo puedo cambiar el volumen programáticamente desde Objective-C?

Encontré esta pregunta,Controlando el volumen de OS X en Snow Leopard lo que sugiere hacer:

Float32 volume = 0.5;
UInt32 size = sizeof(Float32);

AudioObjectPropertyAddress address = {
    kAudioDevicePropertyVolumeScalar,
    kAudioDevicePropertyScopeOutput,
    1 // Use values 1 and 2 here, 0 (master) does not seem to work
};

OSStatus err;
err = AudioObjectSetPropertyData(kAudioObjectSystemObject, &address, 0, NULL, size, &volume);
NSLog(@"status is %i", err);

Esto no hace nada por mí, y se imprime.status is 2003332927.

También intenté usar valores2 y0 en eladdress Estructura, mismo resultado para ambos.

¿Cómo puedo solucionar esto y hacer que realmente disminuya el volumen al 50%?

Respuestas a la pregunta(3)

Su respuesta a la pregunta