Sensor de proximidad en Swift (de Objective-C)

Soy un usuario relativamente nuevo para Swift y ahora, necesito aprovechar el sensor de proximidad de un iPhone. No importa la distancia, pero quiero saber cuándo hay algo cerca del iPhone.

Así que encontré este código en Objective-C que funcionó, pero lo necesito en Swift. He intentado algunas formas, pero ninguna funcionó. Así que aquí está el código que necesito:

- (void) activateProximitySensor {
    UIDevice *device = [UIDevice currentDevice];
    device.proximityMonitoringEnabled = YES;
    if (device.proximityMonitoringEnabled == YES) {
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(proximityChanged:) name:@"UIDeviceProximityStateDidChangeNotification" object:device];
    }
}

- (void) proximityChanged:(NSNotification *)notification {
    UIDevice *device = [notification object];
    NSLog(@"Detectat");

    //DO WHATEVER I WANT
}

EDITAR 1: Lo que probé fue esto:

override func viewDidLoad() {
        super.viewDidLoad()
        UIDevice.currentDevice().proximityMonitoringEnabled = true;

        NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector(proximityStateDidChange()), name:UIDeviceProximityStateDidChangeNotification, object: nil);
}

y la función:

func proximityStateDidChange() {
        //DO WHATEVER I WANT
}

Lo que pongo en la función se ejecuta siempre cuando se ejecuta la aplicación.

EDITAR 2: Probar el código del comentario de Eric D.

let sensor = MySensor() //declared in the VC but globally

override func viewDidLoad() {
        super.viewDidLoad()
        sensor.activateProximitySensor()
}

Me lanza la excepción:

Espero que alguien pueda ayudar,

¡Gracias por adelantado!

Respuestas a la pregunta(4)

Su respuesta a la pregunta