1

我是 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 中很难测试,因为它在连接到计算机时不会进入睡眠状态。任何想法是什么导致了这个以及如何解决它?谢谢

4

1 回答 1

0

干得漂亮!我以前见过这种情况。您是否尝试过禁用空闲计时器?

[UIApplication sharedApplication].idleTimerDisabled = YES;
于 2015-12-06T01:37:36.897 回答