Sensor de proximidade em Swift (da Objective-C)
Eu sou um usuário relativamente novo e rápido, e agora preciso tirar proveito do sensor de proximidade de um iPhone. Não importa a distância, mas quero saber quando algo está próximo ao iPhone.
Então, encontrei esse código no Objective-C que funcionou, mas preciso dele no Swift. Eu tentei algumas maneiras, mas qualquer funcionou. Então, aqui está o código que eu preciso:
- (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
}
EDIT 1: O que eu tentei foi o seguinte:
override func viewDidLoad() {
super.viewDidLoad()
UIDevice.currentDevice().proximityMonitoringEnabled = true;
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector(proximityStateDidChange()), name:UIDeviceProximityStateDidChangeNotification, object: nil);
}
e a função:
func proximityStateDidChange() {
//DO WHATEVER I WANT
}
O que eu coloco na função é executado sempre quando o aplicativo é executado.
EDIT 2: Tentando o código de Eric D. comentar
let sensor = MySensor() //declared in the VC but globally
override func viewDidLoad() {
super.viewDidLoad()
sensor.activateProximitySensor()
}
Me lança a exceção:
Espero que alguém possa ajudar,
Desde já, obrigado!