Proximity sensor in Swift (from Objective-C)

前端 未结 5 981
死守一世寂寞
死守一世寂寞 2021-02-14 18:45

I\'m a relatively new user to swift and now, I need to take advantage of the proximity sensor of an iPhone. I don\'t matter the distance, but I want to know when something is ne

5条回答
  •  误落风尘
    2021-02-14 18:52

    Swift 3 Version

    (Based on Eric Aya's answer)

    func setProximitySensorEnabled(_ enabled: Bool) {
        let device = UIDevice.current
        device.isProximityMonitoringEnabled = enabled
        if device.isProximityMonitoringEnabled {
            NotificationCenter.default.addObserver(self, selector: #selector(proximityChanged), name: .UIDeviceProximityStateDidChange, object: device)
        } else {
            NotificationCenter.default.removeObserver(self, name: .UIDeviceProximityStateDidChange, object: nil)
        }
    }
    
    func proximityChanged(_ notification: Notification) {
        if let device = notification.object as? UIDevice {
            print("\(device) detected!")
        }
    }
    

提交回复
热议问题