Yes, this is something that has caused AppStore rejections in the past, and probably will again...which means it is still possible to do it.
Answering my own question, here's how to do it:
extern void * _CTServerConnectionCreate(CFAllocatorRef, int (*)(void *, CFStringRef, CFDictionaryRef, void *), int *);
extern int _CTServerConnectionSetVibratorState(int *, void *, int, int, float, float, float);
initialize:
connection = _CTServerConnectionCreate(kCFAllocatorDefault, &vibratecallback, &x);
start vibration:
_CTServerConnectionSetVibratorState(&x, connection, 3, intensity, 0, 0, 0);
stop vibration:
_CTServerConnectionSetVibratorState(&x, connection, 0, 0, 0, 0, 0);
This code is from HapticKeyboard, a downloadable application that buzzes the phone as you type. It is available for jailbroken phones on Cydia. See also my jailbreaking experience)
Any other good references?
kb