我是IOS编程的新手,但我的工作要求我为电视演员构建应用程序以便在场景中使用。我正在学习斯威夫特。这些应用不适用于应用商店。我正在制作假手机应用程序。当演员把它放到脸上时,制作人希望手机关闭 - 我有这个代码:
//PROXIMITY SENSOR
func proximityChanged(notification: NSNotification) {
if let device = notification.object as? UIDevice {
println("\(device) detected!")
}
}
func activateProximitySensor() {
let device = UIDevice.currentDevice()
device.proximityMonitoringEnabled = true
if device.proximityMonitoringEnabled {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "proximityChanged:", name: "UIDeviceProximityStateDidChangeNotification", object: device)
}
}
它有效,但我遇到的问题是当接近传感器接合时间过长时,比如电话在演员口袋里2分钟 - 当他去使用它时 - 屏幕保持黑色。
如果按下主页按钮,它将被唤醒,但这会导致它跳出应用程序。如果侧面静音/声音切换被激活,它也会被唤醒。
我猜测即使应用程序位于前台,接近传感器接触这么长时间也会导致它进入后台。难以在xcode中测试,因为它在连接到计算机时不会进入睡眠状态。是什么导致了这个以及如何解决这个问题? 感谢
答案 0 :(得分:0)
干得好!我以前见过这种情况。您是否尝试过禁用空闲计时器?
[UIApplication sharedApplication].idleTimerDisabled = YES;